質問
私はマルチスレッドコードでスピンロックの多くを持っており、ほとんどの時間は、彼らが作業を行うため、CPU使用率の多くをかむために他のスレッドを待っています。 Linuxでは、私は通常、スレッドを一時停止するpthread_cond_waitのとpthread_cond_signalを使用して合図するとき目を覚まします。 Boostライブラリでは、このようなものはありますか?私は任意のものを見つけるcouldntの迅速な外観を持っています。
Visual Studio 2005の
解決
ブーストはそれらの条件変数を呼び出して、それを見つけた:<のhref = "http://www.boost.org/doc/libs/1_39_0/doc/html/thread/synchronization.html#thread.synchronization.condvar_ref" のrel = "nofollowをnoreferrer"> http://www.boost.org/doc/libs/1_39_0/doc/html/thread/synchronization.html#thread.synchronization.condvar_ref の
他のヒント
あなたはミューテックスやセマフォを探しています。 Boostライブラリは、ミューテックスを持っていませんそして、セマフォをサポートします。
ミューテックスは、単にあなたの<のhref =「http://en.wikipedia.org/wiki/Critical_section」のrel = "nofollowを通過する一つのスレッドだけを許可する、ロックとして考えているバイナリセマフォは、ありますnoreferrer ">クリティカルセクションでます。
カウンティングセマフォの一部の状況を簡単にするために助けることができる場所をロック(ミューテックス)制限が厳しすぎるます。