Вопрос про std::future, обрушенный исключением поток и деструктор std::future
Рассмотрим следующую ситуацию.
- Запускается фоновый поток, результат работы которого ожидается в
std::future - В потоке возникает исключение, которое не перехватывается и вылетает за пределы потока;
- Вызывается деструктор
std::future(то есть, захваченное исключение не забирается).
Будет ли поток остановлен немедленно?
Безопасно ли уничтожать std::future, в котором хранится исключение?
Ответы (1 шт):
Автор решения: joker
→ Ссылка
Поток не будет остановлен, он ведь результат не запросил ещё. Уничтожать можно - ничего не произойдет (исключение бросается только при вызове get).