Environment.ProcessorCount获取当前计算机上逻辑处理器的数量。
然后CLR将每个线程调度到一个逻辑处理器,从理论上讲,这可能意味着每个线程在不同的逻辑处理器上,所有线程在单个逻辑处理器上或其他组合。
using System;
using System.Threading;
class MainClass {
static void Main() {
for (int i = 0; i < Environment.ProcessorCount; i++) {
var thread = new Thread(Secondary);
thread.Start(i);
}
}
static void Secondary(object threadNumber) {
System.Console.WriteLine("来自线程的Hello World: " + threadNumber);
}
}