识别处理器(核心)由特定线程使用

Den*_*isL 6 windows multithreading processor affinity

我想知道是否有可能识别具体的线程使用的物理处理器(核心)thread-id

例如,我有一个具有两(2)的螺纹(多线程应用程序thread-id = 10thread-id = 20,例如).我在具有双核处理器(核心1和核心2)的系统上运行该应用程序.那么,我如何获得线程使用的核心号码thread-id = 20呢?

PS Windows平台.

谢谢,

丹尼斯.

Pat*_*ick 7

除非您使用线程关联,否则不会将线程分配给特定的核心.对于每个时间片,线程可以在不同的核上执行.这意味着如果有一个函数来获取线程的核心,那么当你获得返回值时,线程很可能已经在另一个核心上执行.

如果您使用线程关联,则可以查看Windows线程关联函数(http://msdn.microsoft.com/en-us/library/ms684847%28v=VS.85%29.aspx).