Создание новой темы при импорте - PullRequest
2 голосов
/ 10 декабря 2011

Документация Python threading гласит:

За исключением основного модуля, при импорте не должно быть побочного эффекта от создания нового потока и его ожидания.нить любым способом.Несоблюдение этого ограничения может привести к тупику, если порожденный поток прямо или косвенно пытается импортировать модуль.

Я ищу пример кода, демонстрирующего это ограничение.

1 Ответ

3 голосов
/ 10 декабря 2011

Я попробовал это, модуль, который порождает поток, цель которого пытается импортировать sys:

from threading import Thread

def my_target():
    import sys

thread = Thread(target=my_target)
thread.start()
thread.join()

Когда запускается интерпретатор python и делается попытка импортировать модуль выше, он действительно зависает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...