std::recursive_mutex
と組み合わせることができますか?std::condition_variable
つまり、次のようなことを行います:
std::unique_lock<std::recursive_mutex> lock(some_recursive_mutex)
some_condition_var.wait(lock);
許可されていないのなら、なぜですか?
VC++11 を使用しています。
std::recursive_mutex
と組み合わせることができますか?std::condition_variable
つまり、次のようなことを行います:
std::unique_lock<std::recursive_mutex> lock(some_recursive_mutex)
some_condition_var.wait(lock);
許可されていないのなら、なぜですか?
VC++11 を使用しています。
を使用するstd::condition_variable_any
と、Lockableの概念をサポートする任意のタイプのオブジェクトを使用できます。
ただし、再帰的ミューテックスの場合、条件変数は待機中に1回だけunlock
メソッドを使用するため、指定されたスレッドが再帰的ミューテックスを1回だけロックしていることを確認する必要があります。unique_lock
あらゆる種類のロック可能なものを取ることができる でそれを行うことができますstd::condition_variable_any
が、プレーンstd::condition_variable
は に特化していstd::unique_lock<std::mutex>
ます。