タスク並列ライブラリ

タスク並列ライブラリ (TPL: Task Parallel Library) は、.NET Framework Version 4 の System.Threading 名前空間および System.Threading.Tasks 名前空間におけるパブリック型と API のセットです。 TPL は、アプリケーションに並列処理と同時実行を追加するプロセスを簡略化することにより、開発者の生産性を高めることを目的としています。TPL は同時実行の程度を動的に調整することで、利用できるすべてのプロセッサを最も効率的に使用します。 さらに TPL は、作業のパーティション分割、ThreadPool 上のスレッドのスケジュール、キャンセルのサポート、状態管理、および他の低水準の詳細を処理します。 TPL を使用すると、コードのパフォーマンスが大幅に向上し、目的を達成するためのプログラミング作業に集中できます。

.NET Framework 4 以降では、マルチスレッド コードおよび並列コードを作成するときに TPL をお勧めします。 ただし、すべてのコードが並列化に適している訳ではありません。ループの各反復処理で少量の作業のみを実行する場合、または多数の反復処理のために実行しない場合、並列化のオーバーヘッドによってコードの実行が遅くなる可能性があります。 さらに、マルチスレッド コードのような並列化によって、プログラムの実行がより複雑になります。 TPL はマルチスレッドのシナリオを簡略化しますが、たとえばロック、デッドロックおよび競合状態のスレッド処理の基本的な概念を理解し、TPL を効率的に使用することをお勧めします。 基本的な並列コンピューティングの概念については、MSDN の「Parallel Computer Developer Center (並列コンピューター デベロッパー センター)」を参照してください。

関連トピック

タイトル

説明

データの並列化 (タスク並列ライブラリ)

並列の for ループおよび foreach ループ (Visual Basic では For および For Each) を作成する方法について説明します。

タスクの並列化 (タスク並列ライブラリ)

Parallel.Invoke を使用して暗黙的にタスクを作成および実行する方法、または Task オブジェクトを直接使用して明示的にタスクを作成および実行する方法について説明します。

TPL と他の非同期パターン

TPL と他の非同期パターンを .NET で使用する方法について説明します。

データとタスクの並列化における注意点

一般的な落とし穴とその回避方法について説明します。

Parallel LINQ (PLINQ)

LINQ クエリでデータの並列化を達成する方法について説明します。

.NET Framework の並列プログラミング

.NET 並列プログラミングのトップ レベル ノード。