1、作用分析
(1)当IO密集时,使用协程会提高效率。
(2)实现“遇到IO切换+保存状态”去欺骗操作系统,让操作系统误以为没有IO操作,拥有CPU执行权限,从而实现单线程下并发。
2、实例
import time #遇到IO切换(gevent) + 保存状态 from gevent import monkey #猴子补丁 monkey.patch_all() #监听所有的任务是否有IO操作 from gevent import spawn #spawn(任务) from gevent import joinall COUNT = 10000000 start = time.clock() def countdown(n): while n > 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('Time used:', time.clock() - start) # ('Time used:', 0.40398999999999985)
以上就是python协程的作用,希望能对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。