設計パターン

設計パターン#

このセクションでは、いくつかの一般的な並列プログラミング・パターンと、それらを oneAPI スレッディング・ビルディング・ブロック (oneTBB) で実装する方法について説明します。

各パターンの説明は次の形式です。

  • 問題 – 解決すべき問題を説明します。

  • コンテキスト – 問題が発生するコンテキストを説明します。

  • 強制 - パターンの使用を促す考慮事項。

  • ソリューション - パターンを実装する方法について説明します。

  • – 実装例を示します。

バリエーションや例がたびたび議論されます。コード例は重要な点を強調することを目的としており、実運用可能なコードではありません。例では、非 const メソッドの明らかな const オーバーロードを省略する場合があります。

命名法と例の多くは、Eun-Gyu と Marc Snir が作成した Web ページ、および Berkeley 並列パターン wiki から引用したものです。一般的な参考資料セクションのリンクを参照してください。

簡潔にするため、一部のコード例では C++11 ラムダ式を使用しています。ラムダ式を同等の C++03 コードに変換するのは、面倒なこともありますが、簡単です。