10
C ++ 0xにはセマフォがありませんか?スレッドを同期するには?
C ++ 0xがセマフォなしで提供されるのは本当ですか?セマフォの使用に関するスタックオーバーフローに関する質問はすでにいくつかあります。私はそれら(posixセマフォ)を常に使用して、スレッドに別のスレッドのイベントを待機させます。 void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } 私がミューテックスでそれをするなら: void thread0(...) { doSomething0(); event1.lock(); event1.unlock(); ... } void thread1(...) { event1.lock(); doSomethingth1(); event1.unlock(); ... } 問題:醜く、スレッド1が最初にミューテックスをロックすることは保証されていません(同じスレッドがミューテックスをロックおよびロック解除する場合、スレッド1およびスレッド1が開始する前にイベント1をロックすることもできません)。 だからブーストにもセマフォがないので、上記を達成する最も簡単な方法は何ですか?