次の方法で共有


スレッド処理と非同期プログラミング

スレッド化と非同期プログラミングにより、アプリは並列スレッドで非同期的に作業を実行できます。

アプリでは、スレッド プールを使用して、並列スレッドで非同期的に作業を実行できます。 スレッド プールは一連のスレッドを管理し、キューを使用して、使用可能になったときに作業項目をスレッドに割り当てます。 スレッド プールは、WINDOWS ランタイムで使用できる非同期プログラミング パターンに似ています。これは、UI をブロックせずに拡張作業を実行するために使用できますが、スレッド プールでは非同期プログラミング パターンよりも制御が多く、複数の作業項目を並列で完了するために使用できるためです。 スレッド プールを使用すると、次のことができます。

  • 作業項目を送信し、その優先度を制御し、作業項目を取り消します。

  • タイマーと定期的なタイマーを使用して作業項目をスケジュールします。

  • 重要な作業項目のリソースを確保します。

  • 名前付きイベントとセマフォに応答して作業項目を実行します。

スレッド プールは、スレッドの作成と破棄のオーバーヘッドを削減するため、スレッドの管理の効率が向上します。 これは、複数の CPU コア間でスレッドを最適化するためのアクセス権を持ち、アプリ間とバックグラウンド タスクの実行中にスレッド リソースのバランスを取ることができるという意味です。 組み込みのスレッド プールを使用すると便利です。スレッド管理の仕組みではなく、タスクを実行するコードを記述することに重点を置いているためです。

トピック 説明
非同期プログラミング (UWP アプリ) このトピックでは、ユニバーサル Windows プラットフォーム (UWP) での非同期プログラミングと、C#、Microsoft Visual Basic .NET、Visual C++ コンポーネント拡張機能 (C++/CX)、JavaScript でのその表現について説明します。
C++/CX (UWP アプリ) での非同期プログラミング この記事では、ppltasks.h の task 名前空間で定義されている concurrency クラスを使用して、C++/CX で非同期メソッドを使用する推奨される方法について説明します。
スレッド プール を使用するためのベスト プラクティス このトピックでは、スレッド プールを操作するためのベスト プラクティスについて説明します。
C# または Visual Basic で非同期 API を呼び出す ユニバーサル Windows プラットフォーム (UWP) には多くの非同期 API が含まれています。これにより、アプリが長時間かかる場合にアプリの応答性が維持されます。 このトピックでは、C# または Microsoft Visual Basic で UWP の非同期メソッドを使用する方法について説明します。
定期的な作業項目 を作成する 定期的に繰り返される作業項目を作成する方法について説明します。
スレッド プールに作業項目を送信 スレッド プールに作業項目を送信して、別のスレッドで作業を行う方法について説明します。
タイマーを使用して作業項目を送信 タイマーが経過した後に実行される作業項目を作成する方法について説明します。