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

多くのパーソナル コンピューターとワークステーションには、複数スレッドの同時実行を可能にする 2 つまたは 4 つのコア (CPU) があります。 近い将来、コンピューターは、これよりはるかに多くのコアを搭載すると予想されています。 現在および将来のハードウェアを活用するには、コードを並列化して複数のプロセッサに負荷を分散します。 以前は、並列化には低水準のスレッドおよびロックの操作が必要でした。 Visual Studio 2010 および .NET Framework 4 では、新しいランタイム、新しいクラス ライブラリの型、および新しい診断ツールを提供することで、並列プログラミングのサポートを強化しています。 これらの機能により並行開発が簡素化され、スレッドやスレッド プールを直接操作することなく、効率的で詳細な、拡張性のある並列コードを自然な表現方法で記述できるようになります。 .NET Framework 4 の並列プログラミング アーキテクチャの高度な概要を次の図に示します。

.NET 並列プログラミング アーキテクチャ

関連トピック

テクノロジ

説明

タスク並列ライブラリ

並列バージョンの For ループおよび ForEach ループを含む System.Threading.Tasks.Parallel クラスに関するドキュメントと、非同期操作の推奨される表現方法を表す System.Threading.Tasks.Task クラスに関するドキュメントが用意されています。

Parallel LINQ (PLINQ)

さまざまなシナリオでパフォーマンスを大幅に向上させる、LINQ to Objects の並列実装です。

並列プログラミングのデータ構造

スレッド セーフなコレクション クラス、軽量な同期型、および限定的な初期化の種類に関するドキュメントへのリンクを示します。

並列診断ツール

Visual Studio デバッガーのタスク ウィンドウと並列スタック ウィンドウに関するドキュメントと、デバッグおよび並列コードのパフォーマンスの調整に使用できる Visual Studio アプリケーション ライフサイクル管理 プロファイラーの一連のビューで構成される同時実行ビジュアライザーに関するドキュメントへのリンクを示します。

PLINQ および TPL 用のカスタム パーティショナー

パーティションのしくみと、既定のパーティションの設定方法または新しいパーティションの作成方法について説明します。

タスク ファクトリ

System.Threading.Tasks.TaskFactory クラスの役割について説明します。

タスク スケジューラ

スケジューラのしくみと既定のスケジューラの構成方法について説明します。

PLINQ および TPL のラムダ式

C# および Visual Basic のラムダ式について簡単に説明し、PLINQ およびタスク並列ライブラリでラムダ式を使用する方法を示します。

関連項目 (並列プログラミング)

.NET Framework での並列プログラミングに関する追加のドキュメントとサンプル リソースへのリンクを示します。

.NET Framework の拡張開発

スレッド処理や並列プログラミングなどの高度なトピックのトップ レベル ノードです。

参照

その他の技術情報

Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4 (並列プログラミングのパターン: .NET Framework 4 での並列パターンの理解と適用)