学堂 学堂 学堂公众号手机端

在C++中,std::async函数用于创建一个异步任务,并返回一个std::future对象,该对象可以用于获取异步任务的结果

lewis 2年前 (2023-11-10) 阅读数 7 #技术

在C++中,std::async函数用于创建一个异步任务,并返回一个std::future对象,该对象可以用于获取异步任务的结果。

std::async函数的用法如下:

#include<iostream> #include<future> intfoo(intx){ returnx*x; } intmain(){ //创建一个异步任务 std::future<int>fut=std::async(foo,10); //等待异步任务完成并获取结果 intresult=fut.get(); std::cout<<"Result:"<<result<<std::endl; return0; }

在上面的例子中,std::async函数创建了一个异步任务,该任务调用了foo函数并传入参数10。通过std::future对象fut可以获取异步任务的结果,最终输出结果为100


需要注意的是,std::async函数的行为取决于传入的参数。默认情况下,std::async函数会在后台线程中执行异步任务,但也可以通过std::launch::deferred参数来要求在调用std::futureget函数时执行任务,也可以使用std::launch::async参数来要求在调用std::async函数时立即执行任务。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门