我们通常使用的threading.currentThread().ident,获取的是threading对象的标识ident,而并非系统线程ID。

那么怎么才能获取系统线程ID呢?

答案:

使用ctypes调用系统的动态链接库libc.so.6 来获取线程id。

参考:http://blog.devork.be/2010/09/finding-linux-thread-id-from-within.html

python代码示例:

import ctypes

SYS_gettid = 186
libc = ctypes.cdll.LoadLibrary('libc.so.6')
tid = libc.syscall(SYS_gettid)