執行緒和非同步程式設計
執行緒和非同步程式設計可讓您的應用程式以非同步方式在平行執行緒中完成工作。
您的應用程式可以使用執行緒集區,以非同步方式在平行執行緒中完成工作。 執行緒集區會管理一組執行緒,並在可供使用時,使用佇列將工作項目指派給執行緒。 執行緒集區類似於 Windows 執行階段中可用的非同步程式設計模式,因為其可用來在不封鎖 UI 的情況下完成擴充工作,但執行緒集區提供比非同步程式設計模式更多的控制權,且您可以用來平行完成多個工作項目。 您可以使用執行緒集區來:
提交工作項目、控制其優先順序,以及取消工作項目。
使用計時器和定期計時器排程工作項目。
為重要工作項目預留資源。
執行工作項目以回應具名事件和旗號。
執行緒集區在管理執行緒時更有效率,因為其可減少建立及終結執行緒的額外負荷。 這表示其可以存取跨多個 CPU 核心最佳化執行緒,而且其可以在應用程式之間平衡執行緒資源,以及在背景工作執行時平衡執行緒資源。 使用內建執行緒集區很方便,因為您專注於撰寫可完成工作的程式碼,而不必專注於執行緒管理的機制。
主題 | 說明 |
---|---|
非同步程式設計 (UWP 應用程式) | 這個主題描述通用 Windows 平台 (UWP) 的非同步程式設計,以及它在 C#、Microsoft Visual Basic .NET、Visual C++ 元件延伸 (C++/CX) 以及 JavaScript 中的表示方式。 |
C++/CX 的非同步程式設計 (UWP 應用程式) | 本文說明使用 concurrency 命名空間中以 ppltasks.h 定義的 task 類別,在 C++/CX 中使用非同步方法的建議方式。 |
使用執行緒集區的最佳做法 | 本主題使用使用執行緒集區的最佳做法。 |
在 C# 或 Visual Basic 中呼叫非同步 API | 通用 Windows 平台 (UWP) 包含許多非同步 API,確保您的應用程式在執行可能需要較長時間的工作時能保持回應。 本主題討論如何在 C# 或 Microsoft Visual Basic 中使用 UWP 的非同步方法。 |
建立定期工作項目 | 了解如何建立定期重複的工作項目。 |
將工作項目提交至執行緒集區 | 了解如何將工作項目提交至執行緒集區,以在個別執行緒中執行工作。 |
使用計時器提交工作項目 | 了解如何建立在計時器經過之後執行的工作項目。 |