Dlaczego sys.exit() nie kończy działania po wywołaniu wewnątrz wątku w Pythonie?

| | | | | | | | | | | | | | | | | |

To może być głupie pytanie, ale testuję niektóre z moich założeń dotyczących Pythona i jestem zdezorientowany, dlaczego poniższy fragment kodu nie zostanie zamknięty po wywołaniu w wątku, ale zostanie zamknięty po wywołaniu w wątku główny wątek.

import sys, czas od wątkowania import wątku def testexit(): time.sleep(5) sys.exit() print "po zakończeniu wątku" t = Thread(target = testexit ) t.start() t.join() print "przed głównym wyjściem, po zakończeniu wątku" sys.exit() print "po głównym wyjściu" 

Dokumentacja sys.exit( ) stwierdzają, że wywołanie powinno wyjść z Pythona. Widzę z danych wyjściowych tego programu, że "po wyjściu z wątku" nigdy nie jest drukowane, ale główny wątek po prostu kontynuuje działanie nawet po wyjściu wywołań wątku.

Czy dla każdego wątku tworzona jest oddzielna instancja interpretera, a wywołanie exit() po prostu kończy tę oddzielną instancję? Jeśli tak, w jaki sposób implementacja obsługi wątków zarządza dostępem do udostępnionych zasobów? A co, gdybym chciał wyjść z programu z wątku (nie żebym tak naprawdę chciał, ale żebym zrozumiał)?