Обещание результата std::promise в C++
Результат для другого потока хранит std::promise:
один поток записывает, а другой забирает
через связанный std::future.
Рабочий поток вызовет set_value,
главный дождется числа:
#include <future>
#include <iostream>
#include <thread>
int main() {
std::promise<int> sender;
std::future<int> receiver = sender.get_future();
std::thread worker([&]() {
sender.set_value(8);
});
std::cout << receiver.get() << "\n";
worker.join();
return 0;
}
Свяжите std::promise<int> и std::future; поток делает set_value(4). Выведите get в main.