Вариант использования для std:: обещание::set_{значение | исключение}_at_thread_exit
Когда я должен использовать std::promise::set_value_at_thread_exit
/ std::promise::set_exception_at_thread_exit
над std::promise::set_value
/ std::promise::set_exception
?
Единственное отличие состоит в том, что первые гарантируют, что связанное будущее будет готово только один раз. thread_local
s вызывающего потока были уничтожены. Однако я не могу придумать ни одного несинтетического примера, где это было бы полезно.
1 ответ
Одна вещь может состоять в том, чтобы знать, закончил ли отсоединенный поток, когда ваша программа все еще находится в состоянии, в котором она хочет знать.