¿Por qué sys.exit () no sale cuando se llama dentro de un hilo en Python?

Esta podría ser una pregunta estúpida, pero estoy probando algunas de mis suposiciones sobre Python y estoy confundido acerca de por qué el siguiente fragmento de código no saldría cuando se llamaba en el hilo, sino que salía cuando se llamaba en el hilo 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"

Los documentos para sys.exit () indican que la llamada debe salir de Python. Puedo ver por el resultado de este programa que "post thread exit" nunca se imprime, pero el hilo principal sigue funcionando incluso después de que el hilo llama a exit.

¿Se está creando una instancia separada del intérprete para cada subproceso, y la llamada a exit () está saliendo de esa instancia separada? Si es así, ¿cómo gestiona la implementación de subprocesos el acceso a los recursos compartidos? ¿Qué pasa si quisiera salir del programa desde el hilo (no es que realmente quiera, pero para que lo entienda)

Respuestas a la pregunta(10)

Su respuesta a la pregunta