Можно ли использовать одни и те же объекты std::promise
и std::future
несколько раз?
Например, я хочу много раз отправить несколько значений из потока 1 в поток 2. Могу ли я использовать обещание / будущее несколько раз, и как это сделать потокобезопасным?
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);
}
});