python多进程取代多线程的探究
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相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>为什么Python适合作为第一个学习的编程语言?
Python语言设计的初衷就是容易上手。作为一门基础语言,融会贯通后,有助于学习其他语言,例如PHP,Perl,Ruby等。可以快速架起抽象的程序世界...详情>>
2023-11-08 17:48:07Python 网络编程
python提供了两个级别访问的网络服务:低级别的网络服务支持基本的Socket,它提供了标准的BSDSocketsAPI,可以访问底层操作系统Socket接口的全...详情>>
2023-11-08 16:50:33pythonOrderedDict在python字典的实现
OrderedDict在python字典的实现1、OrderedDict的popitem方法这个类型在添加键的时候会保持顺序,因此键的迭代次序总是一致的。OrderedDict的pop...详情>>
2023-11-08 15:37:46python日志库的模块化方法
python日志库的模块化方法1、模块化方法日志库采用模块化方法,并提供几类组件:记录器(loggers),处理器(handlers),过滤器(filters)和格式化...详情>>
2023-11-08 14:45:39