設計パターン#
このセクションでは、いくつかの一般的な並列プログラミング・パターンと、それらを oneAPI スレッディング・ビルディング・ブロック (oneTBB) で実装する方法について説明します。
各パターンの説明は次の形式です。
問題 – 解決すべき問題を説明します。
コンテキスト – 問題が発生するコンテキストを説明します。
強制 - パターンの使用を促す考慮事項。
ソリューション - パターンを実装する方法について説明します。
例 – 実装例を示します。
バリエーションや例がたびたび議論されます。コード例は重要な点を強調することを目的としており、実運用可能なコードではありません。例では、非 const メソッドの明らかな const オーバーロードを省略する場合があります。
命名法と例の多くは、Eun-Gyu と Marc Snir が作成した Web ページ、および Berkeley 並列パターン wiki から引用したものです。一般的な参考資料セクションのリンクを参照してください。
簡潔にするため、一部のコード例では C++11 ラムダ式を使用しています。ラムダ式を同等の C++03 コードに変換するのは、面倒なこともありますが、簡単です。