C++11尺度供给函数async,用于异步启动线程,这可以知足良多的营业场景,是以,本文将连系例子来申明若何挪用async进行异步操作。
挪用async函数之前,需要添加头文件future
界说实现如下图所示的线程回调函数,入参是字符串类型,返回值是整型
挪用std::async,传入回调函数以及回调函数对应的入参值,返回std::future类型对象,该对象用于获取异步线程返回的值
利用std::futrue的函数wait_for超时期待,按照返回的值来判定线程函数是否已经竣事
std::futrue供给的函数get,可以获取线程函数返回成果
调试运行输出的信息如下所示,从信息看合适预期,get获取到线程函数返回的成果值
可以采用如下的体例来轮回获取异步线程执行的成果,若是返回timeout暗示超时,若是返回ready暗示使命完当作,若是返回deferred暗示还没启动线程
运行成果如下,轮回查询过程中,呈现一次timeout,表白线程函数还没有执行完毕
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!