163 python网络编程 - 协程(greenlet版)

为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变的更加简单.

安装方式

使用如下命令安装greenlet模块:

sudo pip install greenlet
#coding=utf-8

from greenlet import greenlet
import time

def test1():
    while True:
        print "---A--"
        gr2.switch()
        time.sleep(0.5)

def test2():
    while True:
        print "---B--"
        gr1.switch()
        time.sleep(0.5)

gr1 = greenlet(test1)
gr2 = greenlet(test2)

#切换到gr1中运行
gr1.switch()

运行效果:

---A--
---B--
---A--
---B--
---A--
---B--
---A--
---B--
...省略...
上一篇:python中asyncio异步编程


下一篇:python第三十八天,(线程回调,线程中的队列,事件,greentlet模块,gevent模块,自定义补丁) 单线程实现并发,协程