ミューテックスがロックされるのを待っている間にコード セクションを実行する方法はありますか?
アプリケーションのパフォーマンスに対する唯一の真の内部ヒットはデータベースの相互作用であり、データベースの相互作用が原因で競合が発生する可能性がある厳密な同期が必要な場合があるため、ロックを待っている時間を使用して、データベース。
たとえば、コードを疑似的に次のようにしたいと思います。
boost::unique_lock<boost::mutex> process_lock(process_mutex, work_while_contending);
//code to execute while lock contending
process_lock.proceed_after_lock();
ブーストの同期セクションを調べたところ、意図が達成されたようfutures
にrecursive
聞こえますが、意図を実装する方法がわかりません。
私の意図はどのように実装できますか?