Por que sys.exit () não sai quando chamado dentro de um thread em Pytho

Isso pode ser uma pergunta estúpida, mas estou testando algumas das minhas suposições sobre Python e estou confuso sobre o porquê do seguinte trecho de código não sair quando chamado no thread, mas sair quando chamado no thread principal .

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"

Os documentos para sys.exit () afirmam que a chamada deve sair do Python. Vejo pela saída deste programa que "pós-saída do thread" nunca é impresso, mas o thread principal continua continuando mesmo depois que o thread chama exit.

Existe uma instância separada do intérprete sendo criada para cada thread e a chamada para exit () está saindo da instância separada? Em caso afirmativo, como a implementação de encadeamento gerencia o acesso a recursos compartilhados? E se eu quisesse sair do programa a partir do thread (não que eu realmente queira, mas apenas para que eu entenda)?

questionAnswers(10)

yourAnswerToTheQuestion