每个进程或每台计算机的线程ID是唯一的吗?

c00*_*0fd 15 c++ winapi multithreading thread-safety

比方说,如果我有一个线程ID,我可以放心,每个进程或整个操作系统(在所有登录用户中)它将是唯一的(因为线程正在运行)?

par*_*ice 12

是的,Windows上的线程ID和进程ID是从同一个池分配的,因此它们将是唯一的.然而,一旦线程或进程结束,ID可以被另一个线程或进程重用.

  • 对了谢谢.我知道PID是独一无二的.我不确定线程​​ID. (2认同)

Chu*_*dad 8

线程由内核对象表示,例如在Windows平台上.因此,它的id在所有登录会话中的所有进程中都是唯一的.但是,在关闭线程内核对象后,可以回收线程ID.

GetCurrentThreadId在运行时也清楚地说明了唯一的id.