Python多核编程 [英] Python multicore programming

查看:90
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆