【发布时间】:2021-04-20 02:15:55
【问题描述】:
我假设我缺少关于 std::async 的一些非常简单的东西。我正在尝试异步运行 2 个 void 方法,没有返回值。
#include <future>
class AsyncTestClass {
public:
void Initialize()
{
std::async(&AsyncTestClass::AsyncMethod1);
std::async(&AsyncTestClass::AsyncMethod2);
}
void AsyncMethod1()
{
//time consuming operation
}
void AsyncMethod2()
{
//time consuming operation
}
};
但是在std:async 内调用我的AsyncMethod1 或AsyncMethod2 时会出错:
替换失败:type 'typename std:conditional
std:async 和 void 的正确用法是什么,无参数方法?我看到的示例似乎与我使用它的方式相似,但它对我不起作用。
【问题讨论】:
标签: c++ asynchronous future stdasync