データベースにクエリを実行し、クエリを非同期に実行するオブジェクトを実装したいと考えています。
オブジェクト B を使用してクエリを実行するオブジェクト A があるとします。A は B の executeQuery メソッドを呼び出し、他の処理を開始します。B の ExecuteQuery メソッドは非同期で、quini A に対して非ブロッキングです。クエリの結果が準備できたら、コールバックで B から A に通知して、A が準備ができたときにのみ結果を読み取れるようにしたいと思います。
C ++ 11でこのメカニズムを実装する最良の方法は何ですか?
私は std :: async で試しましたが、 std :: future で結果を読み取る代わりに、 std :: future にすでに結果が含まれているときにコールバックを受け取りたいので、呼び出しがブロッカーになるのを避けます。
ありがとうございました