0
デッドロックのあるコードがあります。私はそれを解決する方法のいくつかの解決策について考え、それらの一つがアトミックに次の操作を行うことだった。私はcouldn以来、私は、pthreadではアトミックこれを実行することが可能であるかどうかわからないんだけどしかし条件がpthreadsで原子的に真である場合、cond_waitを実行できますか?
if(!ready)
pthread_cond_wait(&(cond[0]), &(lock[0]));
ドキュメントの中に何かを見つけることはできません。おそらくそれを行う方法のトリックがあるかもしれません。私はコードの残りの部分については説明しません。なぜなら、この質問に答えることは関係ないと思うからです。
ありがとうございました。
これは本当ですが、ready変数を設定するためにlock [0]を取得しようとしている他のスレッドを避けたいのです。このスレッドがロックを解除するまで待ちます待つ。 – fc67
テストの直前にロックする必要があります。 – caf