Python真正意义上的并行执行
前面我有篇文章专门介绍Python的GIL,
由于Python中GIL的存在,导致Python的threading不是真正意义上的线程,那么使用python难道就真的没有办法同时在多个cpu上面执行并行执行代码了吗?并不是,首先你可以使用jython和ironPython这2个解释器,如果你不想换掉解释器的话,还想继续使用python的默认的解释器的话,python还提供了,
multiprocessing能真正的实现并行执行。下面是一个例子,
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
p = Pool(5)
print(p.map(f, [1, 2, 3]))
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则
按侵权处理.