python如何查看線程id
最近使用python多線程程序,發現會耗盡所有的cpu,有必要讓python程序運行在一個cpu上.,但是發現threading.get_ident() 返回一個極大的整數,根本和線程號對不上.
只是使用先獲取系統調用號
- #include
- #include
- int main(void)
- {
- printf("%d\n", SYS_gettid);
- return 0;
- }
得到 186
- #!/usr/bin/env python
- import threading
- import os
- import ctypes
- def cycle_burner():
- SYS_gettid = 186
- libc = ctypes.cdll.LoadLibrary('libc.so.6')
- tid = libc.syscall(SYS_gettid)
- print tid
- while True:
- meh = 84908230489 % 323422
- for i in range(3):
- thread = threading.Thread(target=cycle_burner)
- print "Starting a thread"
- thread.start()
運行一切ok