Promise & Future
void task(std::promise<int> &ret) {
// 2. 设置值
ret.set_value(2);
}
// 1. 建立联系
std::promise<int> p;
std::future<int> f = p.get_future();
std::thread t(task, std::ref(p));
// 3. 获取值
std::cout << f.get();void task(int a, std::future<int> &b) {
// 2. get value only once
a = a + b.get();
}
std::promise<int> p_in;
std::future<int> f_in = p_in.get_future();
// thread begin
std::thread t(task, 1, f_in);
// do something else
// 1. set value
p_in.set_value(3);最后更新于