インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

ロック競合

インテル® Cilk™ Plus は古い機能 (非推奨) です。代わりに、OpenMP* またはインテル® TBB を使用してください。詳細は、「インテル® Cilk™ Plus の代わりに OpenMP* またはインテル® TBB を使用するためのアプリケーションの移行」を参照してください。

並列ストランドは、同時に共有ロックにアクセスしようとした場合、並列に実行できません。一部のプログラムでは、並列化によって得られるパフォーマンスの向上のほぼすべてがロックによって排除されてしまいます。極端な場合には、プログラムの実行速度が、相当するシリアルプログラムをシングルコア・プロセッサーで実行した場合よりも大幅に遅くなることもあります。可能であれば、レデューサーを使用するようにしてください。

ロックを使用しなければならない場合は、次のガイドラインに従ってください。