每个处理器创建一个线程

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 from thread: " + threadNumber);
    }
}