请问我用Process实现多进程了,但是那个函数会返回一个值,我如何获得,比如这样
def test(name):
return "hello," + name
p = Process(target=test, args=("world",))
p.start()
p.join()
我如何获得test的返回值
请问我用Process实现多进程了,但是那个函数会返回一个值,我如何获得,比如这样
def test(name):
return "hello," + name
p = Process(target=test, args=("world",))
p.start()
p.join()
我如何获得test的返回值
没有办法直接实现你的需求,但是,你可以用共享变量的方法实现,比如:
def worker(procnum, return_dict):
'''worker function'''
print str(procnum) + ' represent!'
return_dict[procnum] = procnum
if __name__ == '__main__':
manager = Manager()
return_dict = manager.dict()
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,return_dict))
jobs.append(p)
p.start()
for proc in jobs:
proc.join()
print return_dict.values()
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决