【发布时间】:2019-01-15 12:46:06
【问题描述】:
我想实现一个查询数据库并异步执行查询的对象。
假设我们有一个要查询的对象 A 使用对象 B。A 调用 B 的 executeQuery 方法并开始做任何其他事情。 B 的 ExecuteQuery 方法是异步的,对 quini A 来说是非阻塞的。当查询的结果准备好时,我希望它在 B 中通过回调通知给 A,以便 A 只有在准备好时才能去读取结果。
在 C++ 11 中实现这种机制的最佳方式是什么?
我用 std::async 尝试过,而是在 std::future 中读取结果我想在我的 std::future 已经包含结果时接收回调,从而避免我的调用成为阻塞器。
谢谢
【问题讨论】:
-
“quini A 的非阻塞” ?
-
抱歉出错了.. "B 的 ExecuteQuery 方法不能对 A 阻塞"
-
请使用“编辑”链接来修正问题,不要只是添加带有更正的评论。
标签: c++ c++11 callback stdasync