所以我拿了下面的代码,运行它,实际上什么也没发生。 Python 表现得好像它已经完成了一切(也许它已经完成了)但没有打印任何内容。任何帮助使其正常工作将不胜感激!
import multiprocessing
def worker(number):
print number
return
if __name__ == '__main__':
test = multiprocessing.Process(target=worker, args=[0,1,2,3,4])
test.start()
最佳答案
您的代码实际上应该会导致错误。 args
的 multiprocessing.Process()
参数不会为每个参数打开一个进程,它只是将列表中的参数提供给单个函数,然后在子进程中调用该函数。要运行 5 个这样的独立实例,您必须执行以下操作:
import multiprocessing
def worker(number):
print number
return
if __name__ == '__main__':
procs = []
for i in range(5):
procs.append(multiprocessing.Process(target=worker, args=[i]))
[proc.start() for proc in procs]
关于python多处理根本不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15236325/