#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使用(简单)
最新推荐文章于 2024-06-02 14:55:46 发布