我有以下脚本:
main.py
from multiprocessing import Process, Queue
#import my_mod as mm
def f(q):
q.put([42, None, 'hello'])
if __name__ == '__main__':
q = Queue()
p = Process(target=f, args=(q,))
p.start()
print(q.get()) # prints "[42, None, 'hello']"
p.join()
my_mod.py
def test():
return
这样可行但是当我在main.py中取消注释第2行时,脚本的执行只会挂起而不会给我任何错误。造成这种神秘行为的原因是什么?我没有其他模块的导入错误,这似乎与多处理模块有某种关系。我使用的是Anaconda 4.3.17版本的Windows 7。