调用返回后,Multiprocessingspawn进程无法终止

2024-04-26 11:46:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我认为这个问题很有可能以前有人问过,但我找不到合适的解决办法。你知道吗

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

job = q.get()
if job == None:
    q.put(None)
    print 'Got nothing, exiting'
    return 

此消息始终打印。它似乎在等待什么,但我不确定那会是什么。它使用的所有东西都被在线文档声明为线程安全的。我真的不确定它能等待什么,这使得寻找解决方案变得困难。一个潜在的问题是,子进程将可变列表放入“return”队列中,但我没有发现任何表明这有问题的东西。谢谢!你知道吗

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


Tags: nonegetreturnif队列put进程方式