多处理-占用所有CPU内核

时间:2018-09-28 07:40:59

标签: python multiprocessing

我已经实现了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个进程,但所有内核都被占用。有人可以指出这段代码有什么问题吗?

0 个答案:

没有答案