std future使用(简单)

#include 
#include 
#include 
#include 
#include 
#include 
#include 
/**
 *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;
}

你可能感兴趣的:(C++)