3
Boost 1.46.1のロック問題を解決しようとしています。私はいくつか試しましたが、私は満足できません。したがって、クリーンカットからの入力を聞きたいです。try_lockによるBoost Locking
スレッドA:
- は常に手動ロック解除(またはスコープ)
- 更新し、いくつかの重要なデータ
- 重要なデータセクションの
スレッドBがロックを待機して取得する必要があります - ブロックしないでください(try_lock?) - ロックが取得された場合、上記のクリティカルセクションからデータを読み込みます。
私はshared_lockが必要かどうかわかりません。そうでなければこれを解決できますか? スレッドA:
{
// Critical section
boost::mutex::scoped_lock lock(_mutex) ;
}
スレッドB:
EDIT、私のコードは次のようになります
boost::mutex::scoped_lock lock(_mutex, boost::try_to_lock);
if(lock) {
}
しかし、私は失敗したtry_lockを記録することができていない - それならば、私は疑問に思います本当にうまくいく。
よろしく、 ポール
あなたはブロックを回避するために使用できる型機能を「試す」などのすべてのロックを取得します。 –
'try_lock'を使用する際に何が問題になりますか? – interjay