如何调用async进行异步操作

2025-04-10 08:48:15

1、调用async函数之前,需要添加头文件future

如何调用async进行异步操作

2、定义实现如下图所示的线程回调函数,入参是字符串类型,返回值是整型

如何调用async进行异步操作

3、调用std::async,传入回调函数以及回调函数对应的入参值,返回st蟠校盯昂d::future类型对象,该对象用于获取异步线程返回的值

如何调用async进行异步操作

4、使用std::futrue的函数wait_for超时等待,根据返回的值来判断线程函数是否已经结束

如何调用async进行异步操作

5、std::futrue提供的函数get,可以获取线程函数返回结果

如何调用async进行异步操作

6、调试运行输出的信息如下所示,从信息看符合预期,get获取到线程函数返回的结果值

如何调用async进行异步操作

7、可以采用如下的方式来循环获取异步线程执行的结果,如果返回timeout表示超时,如果返回ready表示任务完成,如果返回deferred表示还没启动线程

如何调用async进行异步操作

8、运行结果如下,循环查询过程中,出现一次timeout,表明线程函数还没有执行完毕

如何调用async进行异步操作
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢