1、作用分析
(1)当IO密集时,使用协程会提高效率。
(2)实现“遇到IO切换+保存状态”去欺骗操作系统,让操作系统误以为没有IO操作,拥有CPU执行权限,从而实现单线程下并发。
2、实例
importtime
#遇到IO切换(gevent)+保存状态
fromgeventimportmonkey#猴子补丁
monkey.patch_all()#监听所有的任务是否有IO操作
fromgeventimportspawn#spawn(任务)
fromgeventimportjoinall
COUNT=10000000
start=time.clock()
defcountdown(n):
whilen>0:
n-=1
sp1=spawn(countdown,COUNT//2)
sp2=spawn(countdown,COUNT//2)
#sp1.start()
#sp2.start()
#sp1.join()
#sp2.join()
joinall([sp1,sp2])#等同于上面六步
print('Timeused:',time.clock()-start)
#('Timeused:',0.40398999999999985)
以上就是python协程的作用,希望能对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
下一篇