版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/river472242652/article/details/82965264
#include <iostream> #include <vector> #include <thread> #include <functional> #include <atomic> #include <mutex> #include <future> /** *std future作用 1取回另一个线程计算结果 可以将future /promise当成线程间传递结果的通信信道 std::packaged_task();自动将一个future与promise联系在一起 2防止线程中出现异常后终止整个程序(线程本身处理异常) *Date :[10/8/2018 ] *Author :[RS] */ int calculate() { std::this_thread::sleep_for(std::chrono::seconds(5)); std::cout << "异步中" << std::endl; return 123; } int main() { auto fut = std::async(calculate); std::cout << "非异步" << std::endl; int res = fut.get(); std::cout << res << std::endl; system("pause"); return 0; }
文章来源: std future使用(简单)