一个线程在整个生命周期中是否在同一个CPU /核心上运行?

byt*_*ire 6 windows multithreading

在多处理器计算机上的Windows中,线程是否会在其生命周期内更改CPU /核心?

Ted*_*rek 8

是的,默认情况下,可以在任何可用的核心上安排线程.如果要将线程限制为特定核心或核心,则可以设置线程关联.

  • 我想你错过了调度程序不断运行,而不仅仅是创建线程. (4认同)

Ree*_*sey 6

一个线程在其生命周期内改变CPU /核心吗?

它可以.它不一定会改变,但没有什么能阻止操作系统在核心之间移动线程.

如果需要控制线程的操作,Windows API会通过SetThreadIdealProcessorSetThreadAffinityMaskSetProcessAffinityMask对此进行一些控制.