怎么在python中利用多进程取代多线程

怎么在python中利用多进程取代多线程?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

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)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。