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

来源:千锋教育
发布时间:2023-11-14 05:50:59
分享

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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • pythonsys模块有哪些用法 pythonsys模块有哪些用法1、获得当前Python搜索路径的方法:importsysprint(sys.path)2、sys模块的argv变量的用法:sys模块有一个argv(argumentv
  • pythonreversed的反向迭代 pythonreversed的反向迭代1、说明使用Python中有内置的函数reversed()。要注意一点就是:反向迭代仅仅当对象的大小可预先确定或者对象实现了__reversed__()的特殊方法
  • python函数形式如何实现生成器 python函数形式如何实现生成器1、说明生成器也是迭代器,但只能迭代一次。这是因为它们没有存储所有的值,而是在运行过程中产生值。你一直在使用它们,或者用for循环,或者把它们传递给任何可重复的函数和
  • python列表生成式的两种语法 python列表生成式的两种语法1、语法说明[exprforiter_variniterable][exprforiter_variniterableifcond_expr]第一种语法,首先迭代ite
  • python迭代器的基本方法有几个 python迭代器的基本方法有几个1、说明iter()和next(),且字符串、列表或元组对象都可用于创建迭代器,迭代器对象可以使用常规for语句进行遍历,也可以使用next()函数来遍历。2、实例#
  • pythondefaultdict的初始化 python中defaultdict的初始化1、defaultdict类就好像是一个dict,但是它是使用一个类型来初始化的:>>>fromcollectionsimportdefaultdict>>