マルチスレッドコードには多くのスピンロックがあり、ほとんどの場合、他のスレッドが機能するのを待っているため、CPU使用率が大幅に低下します。Linuxでは、通常、pthread_cond_waitとpthread_cond_signalを使用してスレッドを一時停止し、シグナルが送信されたときにウェイクアップします。Boostライブラリにこのようなものはありますか?ざっと見てみると、何も見つかりませんでした。
Visual Studio 2005
それを見つけて、ブーストはそれらを条件変数と呼びます:http://www.boost.org/doc/libs/1_39_0/doc/html/thread/synchronization.html#thread.synchronization.condvar_ref
Mutex または Semaphore を探しています。Boost ライブラリはMutex と Semaphoreをサポートしています。
Mutex はバイナリ セマフォであり、単にロックと見なされ、1 つのスレッドのみがクリティカル セクションを通過できるようにします。
セマフォをカウントすると、ロック (Mutex) の制限が厳しすぎる状況を単純化するのに役立ちます。