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

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему sys.exit() не завершается при вызове внутри потока в Python?

Сообщение Anonymous »

Я не понимаю, почему следующий фрагмент кода не завершается при вызове в потоке, но завершается при вызове в основном потоке.

Код: Выделить всё

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() просто завершает этот отдельный экземпляр? Если да, то как реализация потоков управляет доступом к общим ресурсам? Что, если бы я действительно захотел выйти из программы из потока (не то чтобы я действительно этого хотел, но просто чтобы я понял)?

Подробнее здесь: https://stackoverflow.com/questions/905 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Разница в системе. Выход (0), System.Exit (-1), System.Exit (1) в Java
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между sys.exit() и перерывом в Python?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Эквивалент sys.exit () Python в JavaScript
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ предотвратить перехват исключения SystemExit, вызванного из sys.exit()?
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между sys.exit(0) и os._exit(0)
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»