我可以多次使用相同的std::promise
和std::future
对象吗?
例如,我想多次从Thread-1到Thread-2发送多个值。我是否可以多次使用promise / future,以及如何做到线程安全?
std::promise<int> send_value;
std::future<int> receive_value = send_value.get_future();
std::thread t1 = std::thread([&]()
{
while (!exit_flag) {
int value = my_custom_function_1();
send_value.set_value(value);
}
});
std::thread t2 = std::thread([&]()
{
while (!exit_flag) {
int value = receive_value.get();
my_custom_function_2(value);
}
});