如何使用std::future获取异步任务的结果

   2024-10-01 9010
核心提示:您可以使用std::future来获取异步任务的结果。下面是一个简单的示例代码,演示如何使用std::async来创建一个异步任务,并使用std

您可以使用std::future来获取异步任务的结果。下面是一个简单的示例代码,演示如何使用std::async来创建一个异步任务,并使用std::future来获取其结果:

#include <iostream>#include <future>int calculateSum(int a, int b) {    return a + b;}int main() {    // 创建一个异步任务,并获取std::future对象    std::future<int> result = std::async(std::launch::async, calculateSum, 5, 10);    // 等待异步任务完成,并获取结果    int sum = result.get();    std::cout << "Sum is: " << sum << std::endl;    return 0;}

在上面的示例中,std::async函数创建了一个异步任务,该任务调用calculateSum函数计算5和10的和。std::future对象result用于获取异步任务的结果,调用result.get()会等待异步任务完成并返回结果。

请注意,您可以使用std::future的valid()方法检查异步任务是否已完成,还可以使用wait()方法等待异步任务完成而不获取结果。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号