简易的协程gevent的安装与使用例程
gevent的安装
安装包地址:https://pypi.org/project/gevent/#files
安装:
解压:tar -zxvf gevent-0.13.7.tar
进入目录:cd gevent-0.13.7
安装:sudo python setup.py install
等待安装完成,进入python解释器输入import gevent,如果没有提示错误,则安装成功。
例程:
#-*- coding:utf-8 -*-
#加上面语句可以让python2识别中文,不至于报错
import gevent
#现在实现了,在a.py中,在python2版本运行已经OK,没有实现python3版本
#这个多任务需要使用gevent.sleep() 延时才能实现
#当遇到gevent.sleep的时候,它就会切换任务 , 是指gevent的阻塞操作,任何阻塞操作都可以
#这个是需要安装gevent的,如果没有安装是不可以使用的
#当然,如果想不使用gevent中的插件,那么可以调用 monkey.patch_all() 这个函数
#调用了这函数后,那么使用阻塞操作就可以使用正常的time.sleep, 以及一些其它操作
#定义一个函数,让协程调用
def fun(n):
for i in range(n):
print(gevent.getcurrent(),i)
gevent.sleep(0.3)
#定义并且启动协程
g1 = gevent.spawn(fun,5)
g1 = gevent.spawn(fun,5)
g1 = gevent.spawn(fun,5)
def main():
print("this main fun")
#等待协程运行结束,不至于提前结束进程
g1.join()
if __name__ == '__main__':
main()