条件変数(cv)の使用方法を説明するドキュメントを見ると、たとえば次のように表示されます。 PThreadsとC++では、このcvでnotifyを呼び出すためにcvのmutexを保持する必要はありません。一方、 JavaとPythonでは、同じことをするためにmutexをロックする必要があります。C/C++やその他の言語での条件変数の使用パターン
Javaのような言語の実装で最終的にいくつかのネイティブスレッドツールが使用されることを考えれば、私は後者の場合にこのように実装される深い理由はありますか?
これはおそらくpthreadsの上に実装されていませんが、それは単に前提です。私はこの質問がhttp://cs.stackexchange.com/でより良い(あるいは* *任意の)回答になるかもしれないと感じています... –
明らかにJVMはそのように実装することができますが、私が見たのはよくある間違いです多くの人がC++でやっているのは、合理的に低コストです(ロックを少し長くする必要がありますがそれだけです)。 – Voo
@Voo条件が依存するデータを変更している間にミューテックスが保持されていないという間違いがありますか? – vehsakul