Re[5]: Кооперативная отмена
От: Qbit86 Кипр
Дата: 18.06.14 13:31
Оценка:
Здравствуйте, Abyx, Вы писали:

A>>>работа уходит чего-то ждать, и если она была отменена — ей бросается исключение.

Q>>Напиши пример, как «работе» бросить исключение.
A>тривиальный пример — это boost::thread::interrupt

Никогда не использовал, посмотрел сейчас по диагонали доку — там тоже кооперативная отмена: есть interruption points, в которых вызывающая сторона проверяет, не была ли запрошена отмена. Если была, то прибивает себя исключением. Частная харкодная раелизация общей идеи (опрос «boost::this_thread::interruption_requested()» вместо «token.CancellationRequested»).
Глаза у меня добрые, но рубашка — смирительная!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.