多くのパーソナル コンピューターとワークステーションには、複数のスレッドを同時に実行できる複数の CPU コアがあります。 ハードウェアを利用するために、コードを並列化して複数のプロセッサに作業を分散させることができます。
以前は、並列化にはスレッドとロックの低レベルの操作が必要でした。 Visual Studio と .NET は、ランタイム、クラス ライブラリの種類、診断ツールを提供することで、並列プログラミングのサポートを強化します。 .NET Framework 4 で導入されたこれらの機能により、並列開発が簡略化されます。 スレッドやスレッド プールを直接操作しなくても、効率的できめ細かくスケーラブルな並列コードを自然なイディオムで記述できます。
次の図は、.NET での並列プログラミング アーキテクチャの概要を示しています。
関連トピック
テクノロジー | 説明 |
---|---|
タスク並列ライブラリ (TPL) |
For ループとForEach ループの並列バージョンを含むSystem.Threading.Tasks.Parallel クラスと、非同期操作を表す推奨される方法を表すSystem.Threading.Tasks.Task クラスのドキュメントを提供します。 |
Parallel LINQ (PLINQ) | 多くのシナリオでパフォーマンスを大幅に向上させる LINQ to Objects の並列実装。 |
並列プログラミングのデータ構造 | スレッド セーフなコレクション クラス、軽量の同期型、および遅延初期化の型に関するドキュメントへのリンクを提供します。 |
並列診断ツール | タスクと並列スタックおよび コンカレンシー ビジュアライザー用の Visual Studio デバッガー ウィンドウのドキュメントへのリンクを提供します。 |
PLINQ および TPL 用のカスタム パーティショナー | パーティショナーのしくみと、既定のパーティショナーを構成する方法、または新しいパーティショナーを作成する方法について説明します。 |
タスク スケジューラ | スケジューラのしくみと、既定のスケジューラを構成する方法について説明します。 |
PLINQ と TPL のラムダ式 | C# と Visual Basic でのラムダ式の概要と、PLINQ とタスク並列ライブラリでのラムダ式の使用方法について説明します。 |
詳細については、次を参照してください | .NET での並列プログラミングに関する追加情報とサンプル リソースへのリンクを提供します。 |
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET