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

1、说明

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

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

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

2、实例

importtime
frommultiprocessingimportPool
COUNT=10000000
start=time.clock()
defcountdown(n):
whilen>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('Timeused:',time.clock()-start)
#('Timeused:',0.0017779999999998353)

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。