Python 调用return后,多处理繁殖进程无法终止

Python 调用return后,多处理繁殖进程无法终止,python,multiprocessing,Python,Multiprocessing,我认为这个问题很可能以前被问过,但我无法找到合适的解决方案 我正在使用python多处理。有时,我的所有子进程都会终止并适当返回。其他时候,他们不会。我想这就是并行进程的方式。奇怪的是,子进程应该做的最后一件事是: job = q.get() if job == None: q.put(None) print 'Got nothing, exiting' return 这条消息总是打印出来的。它似乎在等待什么,但我不确定那可能是什么。它使用的所有东西都通过在线文档声明

我认为这个问题很可能以前被问过,但我无法找到合适的解决方案

我正在使用python多处理。有时,我的所有子进程都会终止并适当返回。其他时候,他们不会。我想这就是并行进程的方式。奇怪的是,子进程应该做的最后一件事是:

job = q.get()
if job == None:
    q.put(None)
    print 'Got nothing, exiting'
    return 
这条消息总是打印出来的。它似乎在等待什么,但我不确定那可能是什么。它使用的所有东西都通过在线文档声明为线程安全的。我真的不确定它会等待什么,这使得寻找解决方案变得困难。一个潜在的问题是,子进程将可变列表放入“return”队列中,但我没有发现任何迹象表明这是有问题的。谢谢

编辑:删除将结果排入结果队列的子进程部分似乎可以消除该问题。但是,我认为结果队列应该是线程安全的,因此这不应该是一个问题