.NET Framework の並列プログラミング
多くのパーソナル コンピューターとワークステーションには、複数スレッドの同時実行を可能にする 2 つまたは 4 つのコア (CPU) があります。 近い将来、コンピューターは、これよりはるかに多くのコアを搭載すると予想されています。 現在および将来のハードウェアを活用するには、コードを並列化して複数のプロセッサに負荷を分散します。 以前は、並列化には低水準のスレッドおよびロックの操作が必要でした。 Visual Studio 2010 および .NET Framework 4 では、新しいランタイム、新しいクラス ライブラリの型、および新しい診断ツールを提供することで、並列プログラミングのサポートを強化しています。 これらの機能により並行開発が簡素化され、スレッドやスレッド プールを直接操作することなく、効率的で詳細な、拡張性のある並列コードを自然な表現方法で記述できるようになります。 .NET Framework 4 の並列プログラミング アーキテクチャの高度な概要を次の図に示します。
関連トピック
テクノロジ |
説明 |
---|---|
並列バージョンの For ループおよび ForEach ループを含む System.Threading.Tasks.Parallel クラスに関するドキュメントと、非同期操作の推奨される表現方法を表す System.Threading.Tasks.Task クラスに関するドキュメントが用意されています。 |
|
さまざまなシナリオでパフォーマンスを大幅に向上させる、LINQ to Objects の並列実装です。 |
|
スレッド セーフなコレクション クラス、軽量な同期型、および限定的な初期化の種類に関するドキュメントへのリンクを示します。 |
|
Visual Studio デバッガーのタスク ウィンドウと並列スタック ウィンドウに関するドキュメントと、デバッグおよび並列コードのパフォーマンスの調整に使用できる Visual Studio アプリケーション ライフサイクル管理 プロファイラーの一連のビューで構成される同時実行ビジュアライザーに関するドキュメントへのリンクを示します。 |
|
パーティションのしくみと、既定のパーティションの設定方法または新しいパーティションの作成方法について説明します。 |
|
System.Threading.Tasks.TaskFactory クラスの役割について説明します。 |
|
スケジューラのしくみと既定のスケジューラの構成方法について説明します。 |
|
C# および Visual Basic のラムダ式について簡単に説明し、PLINQ およびタスク並列ライブラリでラムダ式を使用する方法を示します。 |
|
.NET Framework での並列プログラミングに関する追加のドキュメントとサンプル リソースへのリンクを示します。 |
|
スレッド処理や並列プログラミングなどの高度なトピックのトップ レベル ノードです。 |