Правильно ли ловить boost :: interrupted_exception?

В моем приложении потоки могут быть прерваны с помощью boost :: thread :: interrupt. Я хочу повторно использовать прерванный поток, могу ли я просто перехватить boost :: interrupted_exception или это идеологически неверно?

0

Решение

Я хочу повторно использовать прерванную тему

Это похоже Вы можете (выделение добавлено):

boost :: thread_interrupted — это обычное исключение, поэтому оно может быть
поймал, как и любое другое исключение. Вот почему флаг «прерывается» сбрасывается при возникновении исключения — если поток перехватывает и
обрабатывает прерывание, вполне допустимо прерывать его
снова. Это может быть использовано, например, когда рабочий поток
обработка серии независимых задач — если текущая задача
прерванный, работник может обработать прерывание и отбросить
задание и перейти к следующему заданию
, которые могут быть в свою очередь
прерываться. Это также позволяет потоку перехватить исключение и
завершить себя другими способами, такими как возврат кодов ошибок, или
перевод исключения для прохождения через границы модуля.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector