品易云推流 关闭
文章详情页
文章 > Python基础教程 > python多进程取代多线程的探究

python多进程取代多线程的探究

头像

小妮浅浅

2021-05-17 09:46:222363浏览 · 0收藏 · 0评论

1、说明

可以使用多核CPU的多进程。

利用多进程,我们并行地运行一些python解释器,每个进程都有自己的私有空间,有自己的GIL,而且每个进程都是串行的,因此GIL之间不存在竞争。

所以GIL没有任何问题。Python提供了一个multiprocessing模块,使我们可以很容易地创建流程。

2、实例

import time
from multiprocessing import Pool
COUNT = 10000000
start = time.clock()
def countdown(n):
    while n > 0:
        n -= 1
 
pool = Pool(processes=2)
start = time.clock()
r1 = pool.apply_async(countdown, [COUNT//2])
r2 = pool.apply_async(countdown, [COUNT//2])
pool.close()
pool.join()
print('Time used:', time.clock() - start)
# ('Time used:', 0.0017779999999998353)

以上就是python多进程取代多线程的探究,希望能对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图