在C++中,std::async函数用于创建一个异步任务,并返回一个std::future对象,该对象可以用于获取异步任务的结果
在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::future
的get
函数时执行任务,也可以使用std::launch::async
参数来要求在调用std::async
函数时立即执行任务。
版权声明
本文仅代表作者观点,不代表博信信息网立场。