请问我用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()
1 回答9.6k 阅读✓ 已解决
2 回答5.2k 阅读✓ 已解决
2 回答3.6k 阅读✓ 已解决
3 回答4.5k 阅读
2 回答1.6k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决