共用方式為


執行緒處理物件和功能

更新:2007 年 11 月

.NET Framework 提供一些物件,可協助您建立及管理多執行緒應用程式。Managed 執行緒是由 Thread 類別所表示;ThreadPool 類別可用來輕鬆建立及管理多執行緒的背景工作。BackgroundWorker 類別會針對與使用者介面互動的工作執行相同的作業;Timer 類別會在定時的間隔時間執行背景工作。

此外,還有許多類別會同步處理執行緒的活動,其中包括 .NET Framework 2.0 版中引入的 SemaphoreEventWaitHandle 類別。這些類別的功能會在同步處理原始物件概觀中做比較。

在本節中

  • Managed 執行緒集區
    解說 ThreadPool 類別,這個類別讓您能夠要求執行緒執行工作,而不用自行進行任何的執行緒管理。

  • 計時器
    說明如何使用 Timer 來指定要在指定時間呼叫的委派 (Delegate)。

  • 監視器
    解說如何使用 Monitor 類別來同步存取成員,或建置自己的執行緒管理型別。

  • 等候控制代碼
    描述 WaitHandle 類別,亦即事件等候控制代碼、Mutex 和號誌的抽象基底類別,可用來等候多個同步處理事件。

  • EventWaitHandle、AutoResetEvent 和 ManualResetEvent
    描述 Managed 事件等候控制代碼,可藉由發出信號和等候信號來同步處理執行緒活動。

  • Mutex
    說明如何使用 Mutex同步處理物件的存取,或建置自己的同步處理機制。

  • Interlocked 作業
    說明如何使用 Interlocked 類別來遞增或遞減數值,並在單一不可部分完成的作業 (Atomic Operation) 中儲存此值。

  • Reader-Writer 鎖定
    定義實作單一寫入器/多重讀取器語意 (Semantics) 的鎖定。

  • 號誌
    描述 Semaphore 物件,並說明如何使用這些物件來控制對有限資源的存取。

  • 同步處理原始物件概觀
    比較提供來鎖定及同步處理 Managed 執行緒之 .NET Framework 類別的功能。

參考

  • Thread
    提供 Thread 類別的參考文件,此類別表示 Managed 執行緒,不論是否來自於 Unmanaged 程式碼,或是否在 Managed 應用程式中建立。

  • BackgroundWorker
    啟用與使用者介面互動的背景工作,透過使用者介面執行緒上引發的事件來溝通。

相關章節

  • 非同步檔案 I/O
    說明 I/O 非同步完成通訊埠如何使用執行緒集區,以要求只有輸出入作業完成時才處理。