Python的threading
documentation州:
除了在主模块中,导入不应该有副作用 产生一个新线程然后等待该线程的效果 无论如何。不遵守此限制可能会导致僵局 如果生成的线程直接或间接尝试导入 模块。
我正在寻找展示此限制的示例代码。
答案 0 :(得分:3)
我试过这个,这个模块产生了一个目标试图导入sys
的线程:
from threading import Thread
def my_target():
import sys
thread = Thread(target=my_target)
thread.start()
thread.join()
当启动python解释器并尝试导入上面的模块时,它确实会冻结。