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); } }