Здравствуйте, Abyx, Вы писали:
A>>>работа уходит чего-то ждать, и если она была отменена — ей бросается исключение. Q>>Напиши пример, как «работе» бросить исключение. A>тривиальный пример — это boost::thread::interrupt
Никогда не использовал, посмотрел сейчас по диагонали доку — там тоже кооперативная отмена: есть interruption points, в которых вызывающая сторона проверяет, не была ли запрошена отмена. Если была, то прибивает себя исключением. Частная харкодная раелизация общей идеи (опрос «boost::this_thread::interruption_requested()» вместо «token.CancellationRequested»).