Console.WriteLine(Process.GetCurrentProcess().Threads.Count); // 啟動初期 3 線程
Thread t1 = new Thread(() =>
{
Thread.Sleep(1000);
Thread t = Thread.CurrentThread;
Console.WriteLine("Name: " + t.Name);
Console.WriteLine("ManagedThreadId: " + t.ManagedThreadId);
Console.WriteLine("State: " + t.ThreadState);
Console.WriteLine("Priority: " + t.Priority);
Console.WriteLine("IsBackground: " + t.IsBackground);
Console.WriteLine("IsThreadPoolThread: " + t.IsThreadPoolThread);
})
{
Name = "Thread1",
Priority = ThreadPriority.Highest
};
t1.Start();
Console.WriteLine(Process.GetCurrentProcess().Threads.Count); // 新增後 4 線程

Sleep(1000) 防主線程過早結束。Name 便於除錯;Priority 影響排程。ManagedThreadId 為 CLR 獨一識別碼,微軟建議用此而非 OS 線程 ID。IsBackground=false(預設前台線程),進程會等所有前台線程結束才退出;背景線程則隨前台線程結束自動終止。WinForm 若誤用前台線程,關閉視窗後進程可能殘留。IsThreadPoolThread=false 表示非線程池建立。new Thread((date) => Console.WriteLine(((DateTime)date).ToString())).Start(DateTime.Now);
使用接受 object 參數的委簽名,啟動時傳入資料。