執行緒與非同步程式設計讓你的應用程式能在平行執行緒中非同步完成工作,而不會阻塞介面。
你的應用程式可以使用執行緒池,在平行執行緒中非同步完成工作。 執行緒池管理一組執行緒,並利用佇列將工作項目指派給執行緒,當執行緒有空時。 執行緒池類似於 Windows 執行階段 中的非同步程式設計模式,因為它可以用來完成延伸工作而不阻塞使用者介面,但執行緒池比非同步程式模式提供更多控制,且你可以用它同時完成多個工作項目。 你可以利用這個線程池來:
- 提交工作項目、控制優先順序,並取消工作項目。
- 使用計時器和定期計時器來排程工作項目。
- 預留資源給關鍵工作項目。
- 回應具名事件和號誌來執行工作項目。
執行緒池在管理執行緒方面更有效率,因為它減少了建立與銷毀執行緒的開銷。 它能優化多個 CPU 核心的執行緒,也能平衡應用程式間及背景任務執行時的執行緒資源。 使用內建的執行緒池很方便,因為你專注於撰寫完成任務的程式碼,而非執行緒管理的機制。
| Topic | Description |
|---|---|
| 使用執行緒池的最佳實務 | 使用執行緒池的最佳實務。 |
| 呼叫 C# 或 Visual Basic 的非同步 API | 如何在 Windows 應用程式中使用 C# 或 Visual Basic 的非同步 API。 |
| 建立一個定期工作項目 | 如何製作一個週期性重複的工作項目。 |
| 將工作項目提交到討論串池 | 如何將工作項目提交至執行緒集區,以便在個別執行緒中執行工作。 |
| 使用計時器提交工作項目 | 如何建立一個在計時器結束後仍會執行的工作項目。 |