/
rokhin
/
Small_test_programs_cpp
Обзор
Документация
Войти
/
rokhin
/
Small_test_programs_cpp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
promise_future.cpp
33 строки
1 KB
sergeyrokhin
Начало
03 фев 2025, 13:36
03 фев 2025, 13:36
e354b68
Код
Авторство
О чём код?
#include <iostream> #include <thread> #include <future> // Функция, которая обещает предоставить значение в будущем void provider(std::promise<int>& promiseObj) { int result = 42; // Установка значения в promise promiseObj.set_value(result); } // Функция, которая ожидает получение значения void consumer(std::future<int>& futureObj) { // Ожидание значения от promise int result = futureObj.get(); std::cout << "Received value from provider: " << result << std::endl; } int main() { // Создание promise и связывание его с future std::promise<int> promiseObj; std::future<int> futureObj = promiseObj.get_future(); // Создание потоков для поставщика и потребителя std::thread consumerThread(consumer, std::ref(futureObj)); std::thread providerThread(provider, std::ref(promiseObj)); // Ожидание завершения потоков providerThread.join(); consumerThread.join(); return 0; }