我已经实现了python多处理。以下是代码。
import multiprocessing
manager = multiprocessing.Manager()
return_dict = manager.dict()
for dev, value in device_dict.items():
tmp_dict = {}
tmp_dict[dev]= value
p = multiprocessing.Process(target=myfunc, args=(tmp_dict,return_dict,))
threads.append(p)
for x in threads:
x.start()
for x in threads:
x.join()
pqd = dict(return_dict)
device_dict
字典有30个元素,因此实例化了30个过程。
添加多处理后,我的代码运行时间已大大减少,例如在8核处理器上,从1小时20分钟减少到20分钟。
当我在54核处理器上运行相同的代码时,它又需要20分钟。应该减少吗?尽管只有30个进程,但所有内核都被占用。有人可以指出这段代码有什么问题吗?