std::promise — это шаблонный класс, который предоставляет механизм для связи потока, который обещает предоставить значение в будущем (поставщик), с потоком, который ожидает получение этого значения (потребитель).Когда создается объект
std::promise, он создает связанный объект std::future. Объект std::future предоставляет интерфейс для получения значения или исключения, которое будет предоставлено объектом std::promise.Поставщик использует методы
set_value() или set_exception() для установки значения или исключения, которое будет предоставлено объекту std::promise. Потребитель использует метод get() объекта std::future для получения значения или исключения, которое было установлено поставщиком.#для_продвинутых
