1、调用async函数之前,需要添加头文件future
2、定义实现如下图所示的线程回调函数,入参是字符串类型,返回值是整型
3、调用std::async,传入回调函数以及回调函数对应的入参值,返回st蟠校盯昂d::future类型对象,该对象用于获取异步线程返回的值
4、使用std::futrue的函数wait_for超时等待,根据返回的值来判断线程函数是否已经结束
5、std::futrue提供的函数get,可以获取线程函数返回结果
6、调试运行输出的信息如下所示,从信息看符合预期,get获取到线程函数返回的结果值
7、可以采用如下的方式来循环获取异步线程执行的结果,如果返回timeout表示超时,如果返回ready表示任务完成,如果返回deferred表示还没启动线程
8、运行结果如下,循环查询过程中,出现一次timeout,表明线程函数还没有执行完毕