如何在Windows上的多个处理器上执行线程?

Aft*_*ock 1 windows multithreading execution

我在Windows(Windows 7,XP和Vista)上.如果我创建一个多线程程序,是否会在所有可用内核上执行线程?它是自动的吗?有保证吗?

例如,如果我有四个线程和四个处理器,那么线程是否会在每个处理器/核心上执行一次?

Joh*_*ers 5

操作系统将根据线程状态,优先级等决定.

不保证线程将全部在不同的处理器上运行.实际上,很少有关于线程执行顺序的保证.它们可能都运行在同一个处理器上.它们可能全部并行运行,也可能根本不运行.不是说这很可能,但你没有任何保证.