Из документов: http://docs.python.org/2/library/thread
Когда основной поток выходит, система определяет, будет ли другой потоки выживают. В SGI IRIX с использованием встроенной реализации потока, они выживают. В большинстве других систем они убиваются без выполнения try... finally clauses или выполнение деструкторов объектов.
И здесь, в документах (http://docs.python.org/2/library/threading), он говорит:
Поток может быть помечен как "поток демона". Значение этого flag заключается в том, что вся программа Python завершается, когда только потоки демона осталось. Начальное значение наследуется от создающего потока.
Здесь рассказывается только о не-демонах. Поскольку первая цитата не делает никакой особой ссылки на потоки не-демона, я бы предположил, что даже потоки не-демона должны быть убиты, если основной поток выходит. Однако вторая цитата предполагает иное. И фактически, нити не-демона действительно не убиваются, когда основной поток завершается. Итак, что точка первой цитаты здесь?