Я довольно хорошо знаком с компонентами С++ 11 std::thread
, std::async
и std::future
(например, см. Этот ответ), которые прямолинейны.
Однако я не могу понять, что означает std::promise
, что он делает и в каких ситуациях его лучше всего использовать. В самом стандартном документе не содержится много информации, выходящей за рамки его синопсиса, и ни один из них не просто :: thread.
Может ли кто-нибудь дать короткий, краткий пример ситуации, когда требуется std::promise
и где это самое идиоматическое решение?