首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> C# 入門

C# 多線程編程全攻略:Thread 類、生命週期、同步與銷毀

     編輯:C# 入門

C# 多線程編程全攻略:Thread 類、生命週期、同步與銷毀

線程是程序執行路徑,定義獨特控制流。多線程讓應用程序並行執行多任務,提升 CPU 利用率與響應性。現代作業系統廣泛採用線程實現並行編程。

線程生命週期狀態

狀態說明
未啟動Thread 實例創建,未調用 Start()
就緒等待 CPU 時間片
不可運行Sleep()、Wait()、I/O 阻塞
死亡執行完成或被中止

主線程與 Thread 類

C# 程序啟動自動創建主線程。System.Threading.Thread 類提供線程操作:

using System; using System.Threading;
Thread th = Thread.CurrentThread;
th.Name = "MainThread";
Console.WriteLine($"This is {th.Name}");

輸出:This is MainThread

Thread 常用屬性與方法

屬性說明
CurrentThread獲取當前執行線程
IsAlive線程是否執行中
IsBackground是否後台線程
ManagedThreadId唯一標識符
Name線程名稱
Priority調度優先級
ThreadState綜合狀態值
方法說明
Start()啟動線程
Sleep(ms)暫停指定毫秒
Join()阻塞調用線程直到目標線程終止
Abort()請求終止線程(拋 ThreadAbortException)
Interrupt()喚醒 WaitSleepJoin 狀態線程
Yield()讓出 CPU 給同優先級線程

創建線程示例

ThreadStart childRef = new ThreadStart(ChildThreadMethod);
Thread childThread = new Thread(childRef);
childThread.Start();

線程管理:Sleep 與 Abort

Sleep(5000) 暫停 5 秒。Abort() 強制終止,拋出 ThreadAbortException,不可捕獲,但 finally 塊仍會執行:

try {
    for (int i=0; i<=10; i++) { Thread.Sleep(500); Console.WriteLine(i); }
} catch (ThreadAbortException) { Console.WriteLine("Thread Abort"); }
finally { Console.WriteLine("Couldn't catch"); }

現代 C# 推薦使用 Task、async/await、ThreadPool 等高級抽象,Thread 類適合底層控制場景。

  1. 上一篇文章: No
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved