我在我的Python脚本中启动了一堆不同的线程。我想跟踪每个线程的内存和CPU使用情况。为此,我使用top和ps-eLf。但事实证明,thread.start_new_thread()返回的标识符与top等类似程序显示的线程PID不同。有没有办法在Python脚本中从with获取这个PID?这样,我就可以确定哪个PID属于哪个线程。 最佳答案 多亏了这个post,我让Python线程报告它们各自的线程ID。首先执行grep-r'SYS_gettid'/usr/include/'。我得到一行:#defineSYS_gettid__NR
我在我的Python脚本中启动了一堆不同的线程。我想跟踪每个线程的内存和CPU使用情况。为此,我使用top和ps-eLf。但事实证明,thread.start_new_thread()返回的标识符与top等类似程序显示的线程PID不同。有没有办法在Python脚本中从with获取这个PID?这样,我就可以确定哪个PID属于哪个线程。 最佳答案 多亏了这个post,我让Python线程报告它们各自的线程ID。首先执行grep-r'SYS_gettid'/usr/include/'。我得到一行:#defineSYS_gettid__NR
该引用来自manpageofpthread_self().那么,我应该根据什么来决定我应该使用pthread_self还是gettid来确定哪个线程正在运行该函数?两者都是不可移植的。为什么有两个不同的函数来获取线程ID? 最佳答案 So,onwhatbasisshouldIdecidewhetherIshouldusepthread_selforgettidtodeterminewhichthreadisrunningthefunction?只要您想在应用程序中识别线程,就应该始终使用pthread_self()。gettid()
我只是在寻找在Linux中获取唯一线程ID的方法。我发现的方法是使用以下两个参数之一作为参数执行系统调用:__NR_gettid或SYS_gettid。谁能解释一下它们之间有何不同? 最佳答案 没有在有这个:#defineSYS_gettid__NR_gettid 关于c-__NR_gettid和SYS_gettid之间的区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/223
我正在尝试在Linux上设置线程的CPU关联。我想知道推荐使用以下哪一种方法:Getthreadidusingpthread_self()SetCPUaffinityusingpthread_setaffinity_np(....)bypassingthethreadidasanargumentGetthreadidusingthegettid()callSetCPUaffinityusingsched_setaffinity(....)bypassingthethreadidintheplaceoftheprocessidP.S:设置CPUaffinity后,我打算提高线程的调度优先