.NET Framework 提供一些物件,可協助您建立及管理多執行緒應用程式。Managed 執行緒是由 Thread 類別所表示;ThreadPool 類別可用來輕鬆建立及管理多執行緒的背景工作。BackgroundWorker 類別會針對與使用者介面互動的工作執行相同的作業;Timer 類別會在定時的間隔時間執行背景工作。
此外,還有許多類別會同步處理執行緒的活動,其中包括 .NET Framework 2.0 版中引入的 Semaphore 和 EventWaitHandle 類別。這些類別的功能會在同步處理原始物件概觀中做比較。
在本節中
- Managed 執行緒集區
解說 ThreadPool 類別,這個類別讓您能夠要求執行緒執行工作,而不用自行進行任何的執行緒管理。
- 計時器
說明如何使用 Timer 來指定要在指定時間呼叫的委派 (Delegate)。
- 監視器
解說如何使用 Monitor 類別來同步存取成員,或建置自己的執行緒管理型別。
- 等候控制代碼
描述 WaitHandle 類別,亦即事件等候控制代碼、Mutex 和號誌的抽象基底類別,可用來等候多個同步處理事件。
- EventWaitHandle、AutoResetEvent 和 ManualResetEvent
描述 Managed 事件等候控制代碼,可藉由發出信號和等候信號來同步處理執行緒活動。
- Interlocked 作業
說明如何使用 Interlocked 類別來遞增或遞減數值,並在單一不可部分完成的作業 (Atomic Operation) 中儲存此值。
- Reader-Writer 鎖定
定義實作單一寫入器/多重讀取器語意 (Semantics) 的鎖定。
- 號誌
描述 Semaphore 物件,並說明如何使用這些物件來控制對有限資源的存取。
- 同步處理原始物件概觀
比較提供來鎖定及同步處理 Managed 執行緒之 .NET Framework 類別的功能。
參考
- Thread
提供 Thread 類別的參考文件,此類別表示 Managed 執行緒,不論是否來自於 Unmanaged 程式碼,或是否在 Managed 應用程式中建立。
- BackgroundWorker
啟用與使用者介面互動的背景工作,透過使用者介面執行緒上引發的事件來溝通。
相關章節
- 非同步檔案 I/O
說明 I/O 非同步完成通訊埠如何使用執行緒集區,以要求只有輸出入作業完成時才處理。