Почему sys.exit () не завершается при вызове внутри потока в Python?

Это может быть глупым вопросом, но я проверяю некоторые из моих предположений о Python, и меня смущает вопрос, почему следующий фрагмент кода не завершится при вызове в потоке, а завершится при вызове в основном потоке.

import sys, time
from threading import Thread

def testexit():
    time.sleep(5)
    sys.exit()
    print "post thread exit"

t = Thread(target = testexit)
t.start()
t.join()
print "pre main exit, post thread exit"
sys.exit()
print "post main exit"

Документы для sys.exit () утверждают, что вызов должен выйти из Python. Я могу видеть из результатов этой программы, что «выход из пост-потока» никогда не печатается, но основной поток просто продолжает работать даже после того, как поток вызывает выход.

Создается ли отдельный экземпляр интерпретатора для каждого потока, и вызов exit () просто выходит из этого отдельного экземпляра? Если да, то как реализация многопоточности управляет доступом к общим ресурсам? Что если я захочу выйти из программы (не то, что я на самом деле хочу, а просто, чтобы я поняла)?

Ответы на вопрос(5)

Ваш ответ на вопрос