Python多核编程 [英] Python multicore programming
本文介绍了Python多核编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请考虑以下课程:
class Foo:
def __init__(self, data):
self.data = data
def do_task(self):
#do something with data
在我的应用程序中,我有一个包含几个Foo类实例的列表.目的是对所有Foo对象执行do_task
.第一种实现方式很简单:
In my application I've a list containing several instances of Foo class. The aim is to execute do_task
for all Foo objects. A first implementation is simply:
#execute tasks of all Foo Object instantiated
for f_obj in my_foo_obj_list:
f_obj.do_task()
我想利用多核体系结构在计算机的4个CPU之间共享for
周期.
I'd like to take advantage of multi-core architecture sharing the for
cycle between 4 CPUs of my machine.
最好的方法是什么?
推荐答案
您可以使用多处理模块中的处理池.
def work(foo):
foo.do_task()
from multiprocessing import Pool
pool = Pool()
pool.map(work, my_foo_obj_list)
pool.close()
pool.join()
这篇关于Python多核编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文