如何在 C++ 中运行异步增强功能?

Posted

技术标签:

【中文标题】如何在 C++ 中运行异步增强功能?【英文标题】:Howto run async boost function in c++? 【发布时间】:2018-08-29 04:22:40 【问题描述】:

有谁知道我如何使用 boost 运行异步函数,假设我想异步运行 foo 和 bar 函数?类似于 python 中的 asyncio 函数。

演示代码

void foo() 
void bar() 

int main() return 0;

提前致谢。

【问题讨论】:

你是说喜欢threads吗?还是std::async?您能否详细说明您遇到并想要解决的问题? 编辑了问题 喜欢 std::async,但我不想等待未来 【参考方案1】:

如果您只想并行运行foobar,可以使用<future> - 不需要Boost:

int main()

    auto f = std::async(std::launch::async, &foo);
    bar();

【讨论】:

但我不想等待未来的结果。 @user1779646:提供一个你想做什么的例子。你为什么要打电话给foo,而不是等待它完成......? 它们都会在程序的生命周期内继续产生结果,并在它们之间共享结果。 @user1779646 看起来你想要的是threads。函数独立于程序其余部分运行的地方。 @user1779646 我建议对此有所了解。没有“共享结果”之类的东西,除非您先等待它(那是一场数据竞赛),也没有“以相同的速度运行”之类的东西。线程要么运行,要么不运行。操作系统会安排这些。

以上是关于如何在 C++ 中运行异步增强功能?的主要内容,如果未能解决你的问题,请参考以下文章

想要求教大家,关于在visualbox上安装的kali2.0,想用虚拟机的增强功能,现在卡在这一步

Oracle12c中性能优化&功能增强新特性之全局索引DROP和TRUNCATE 分区的异步维护

C++基础1 C与C++的功能扩展语法增强   namesapce const 引用

virtualbox安装增强功能时未能加载虚拟光盘

virtualbox安装增强功能时未能加载虚拟光盘

如何在 tensorflow tf.data.Dataset 中使用 cv2 图像增强功能?