執行緒集區技術範例

更新:2007 年 11 月

本範例示範 ThreadPool 類別的用法。範例會佇列由執行緒執行的非同步方法呼叫,而執行緒則來自 Common Language Runtime 管理的執行緒集區。

如需使用這些範例的詳細資訊,請參閱下列主題:

Download sample

若要使用命令提示字元建置範例

  1. 開啟 [命令提示字元] 視窗,並巡覽至此範例的任一程式設計語言的子目錄。

  2. 根據您選擇的程式設計語言,在命令列輸入 msbuild PoolsCS.sln 或 msbuild PoolsVB.sln。

若要使用 Visual Studio 建置範例

  1. 開啟 [Windows 檔案總管],並巡覽至此範例的任一程式設計語言的子目錄。

  2. 根據您選擇的程式設計語言,按兩下 PoolsCS.sln 或 PoolsVB.sln 檔案的圖示,在 Visual Studio 中開啟該檔案。

  3. 在 [建置] 功能表上,按一下 [建置方案]。

若要執行範例

  1. 使用命令提示字元巡覽至已建立之可執行檔所在的目錄。

  2. 在命令列上輸入 AsyncMethod.exe。

    注意事項:

    這個範例會建置一個主控台應用程式。您必須從命令提示字元啟動,才能檢視它的輸出。

備註

這個範例使用佇列來管理非同步方法呼叫。呼叫的方法會「進行一些工作」,然後設定事件,表示此工作已經完成。主執行緒會等候此事件,然後才離開。

下面幾點簡短說明了此範例所使用的類別和技術:

  • 執行緒處理

    • ThreadPool 撰寫 Managed 程式碼時,建議開發人員盡可能使用 QueueUserWorkItem 方法實作非同步方法呼叫。這個範例示範了如何使用此型別來執行非同步行為。
  • 執行緒同步處理

    • AutoResetEvent 此範例的主執行緒會等候 AutoResetEvent 物件,直到非同步方法設定主執行緒為止。非同步化方法完成工作之後,便會呼叫 Set 方法。
  • 委派

檢視原始程式碼中的註解,以取得執行緒同步處理的詳細資訊。

請參閱

概念

執行緒和執行緒處理

參考

AutoResetEvent

Delegate

System.Threading

ThreadPool

ThreadStart

WaitCallback

其他資源

執行緒處理物件和功能