キューを使用するべきではない状況

キューは、生産タスクから消費タスクをバッファーするために並列プログラムで広く使用されています。しかし、明示的なキューを使用する前に、代わりに parallel_do または pipeline を使用することを検討してください。これらの操作は、多くの場合、次の理由によりキューよりも効率的です。

対照的に、parallel_do および pipeline はこれらのボトルネックを回避します。これらのスレッド化は暗黙的であるため、値が現れるまでほかの作業を行うようにワーカースレッドを最適化します。また、キャッシュ上の項目をホットな状態で維持しようとします。例えば、別の作業項目が parallel_do に追加された場合、「ホット」スレッドが項目を処理する前に、使用されていない別のスレッドが項目をスチールできなければ、項目を追加したスレッドに対してローカルなままです。このように、項目はホットスレッドでより多く処理されます。

関連情報