C++ で、次の構造を持つアルゴリズムを作成したいと考えています。
- 連続部分
- 平行部A
- 連続部分
- A 平行部 B
- 連続部分
pthread を使用すると、この問題を解決する 2 つの方法を考えることができます。
- パート A 用に N 個のスレッドを作成し、パート A の終了後にこれらのスレッドを破棄します。次に、パート B に N 個の新しいスレッドを割り当てます。
- 利用可能なさまざまな種類の同期方法を使用して、パート A とパート B に同じスレッドを使用します。
パフォーマンスが重要な場合に、ソリューション 1 の新しいスレッドを作成するために必要なオーバーヘッドはどれくらいですか。解決策 1 または解決策 2 を選択する必要がありますか?