Python真正意义上的并行执行

Python真正意义上的并行执行

前面我有篇文章专门介绍Python的GIL,

浅谈Python的多线程的GIL

由于Python中GIL的存在,导致Python的threading不是真正意义上的线程,那么使用python难道就真的没有办法同时在多个cpu上面执行并行执行代码了吗?并不是,首先你可以使用jython和ironPython这2个解释器,如果你不想换掉解释器的话,还想继续使用python的默认的解释器的话,python还提供了,

multiprocessing

multiprocessing能真正的实现并行执行。下面是一个例子,


from multiprocessing import Pool def f(x): return x*x if __name__ == '__main__': p = Pool(5) print(p.map(f, [1, 2, 3]))

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则
按侵权处理.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示