Была задача:
1) Сделать менеджер потоков, который бы :
2) запускал нужно количество рабочих потоков и дожидался их завершения
3) при поступлении сигнала на прерывание, посылал бы сигналы на прерывание для рабочих потоков
4) При завершении любого рабочего потока по unhandled exception посылал бы остальным живым потокам сигнал прерывания.
Если в общем, то операция должна выполниться в разных потоках, но если что-то упадет в любом из потоков, нет смысла продолжать
обработку так как операция валидна только целиком, а по частям не представляет их себя интереса.
Код тестового консольного проекта на maven:
http://files.rsdn.ru/18604/threadtest.zip