用C++11的std::async代替线程的创建

参考资料:https://www.cnblogs.com/qicosmos/p/3534211.html

现在来看看std::async的原型async(std::launch::async | std::launch::deferred, f, args...),第一个参数是线程的创建策略,有两种策略,默认的策略是立即创建线程:

std::launch::async:在调用async就开始创建线程。
std::launch::deferred:延迟加载方式创建线程。调用async时不创建线程,直到调用了future的get或者wait时才创建线程。
第二个参数是线程函数,第三个参数是线程函数的参数。

future.get/wait来获取这个未来的结果

你可能感兴趣的:(用C++11的std::async代替线程的创建)