ZZZ
в твоём подходе есть одно странное недоразумение… Все нити завершаются последовательно, а не параллельно.
А где у меня в примере ты видишь еще хотя бы один поток кроме main и worker? Для простоты я не делал никакого листа, пула и т.д. и не морочил этим себе голову.
ZZZ
Архитектурно такой приём мне не нравится. Не люблю:
А есть ли альтернатива когда поток ждет, ничего не делает, но при этом может получить о обработать KeyboardInterrupt? Если есть выкладывайте, сам буду рад увидеть :) Если нет, тогда предложите более элегантное решение.
ЗЫ: такой код вообще очень редко может использоваться. Много ли консольных програм которых нужно останавливать клавиатурой…