每個處理器建立一個執行緒

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