导入时生成新线程

时间:2011-12-10 12:07:44

标签: python multithreading import restriction

Python的threading documentation州:

  

除了在主模块中,导入不应该有副作用   产生一个新线程然后等待该线程的效果   无论如何。不遵守此限制可能会导致僵局   如果生成的线程直接或间接尝试导入   模块。

我正在寻找展示此限制的示例代码。

1 个答案:

答案 0 :(得分:3)

我试过这个,这个模块产生了一个目标试图导入sys的线程:

from threading import Thread

def my_target():
    import sys

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

当启动python解释器并尝试导入上面的模块时,它确实会冻结。