執行緒
一個執行緒是可以其它部分獨立地執行的程式的一部分。它可以與其他執行緒同時執行任務。多執行緒是一種使程式能夠執行併發處理的功能,因此一次可以完成多個操作。
例如,你可以使用執行緒在後臺更新計時器或計數器,同時在前臺執行其他任務。
多執行緒應用程式對使用者輸入的響應速度更快,並且易於擴充套件,因為開發人員可以在工作負載增加時新增執行緒。
預設情況下,C#程式有一個執行緒 - 主程式執行緒。但是,可以建立輔助執行緒並用於與主執行緒並行執行程式碼。這種執行緒稱為工作執行緒。
為了控制執行緒的操作,CLR 將一個函式委託給稱為執行緒排程程式的作業系統。執行緒排程程式確保為所有執行緒分配正確的執行時間。它還會檢查被阻塞或鎖定的執行緒是否消耗大量 CPU 時間。
.NET Framework System.Threading
名稱空間使得使用執行緒更容易。System.Threading 通過提供許多類和介面來啟用多執行緒。除了為特定執行緒提供型別和類之外,它還定義了用於儲存執行緒集合,計時器類等的型別。它還通過允許對共享資料的同步訪問來提供支援。
Thread
是 System.Threading
名稱空間中的主要類。其他類包括 AutoResetEvent
,Interlocked
,Monitor
,Mutex
和 ThreadPool
。
System.Threading
名稱空間中的一些代表包括 ThreadStart
,TimerCallback
和 WaitCallback
。
System.Threading
名稱空間中的列舉包括 ThreadPriority
,ThreadState
和 EventResetMode
。
在 .NET Framework 4 及更高版本中,通過 System.Threading.Tasks.Parallel
和 System.Threading.Tasks.Task
類,並行 LINQ(PLINQ)
,System.Collections.Concurrent
名稱空間中的新併發集合類以及基於任務的新程式設計模型,使多執行緒程式設計變得更加簡單和簡單。