Python协程之greenlet

一丧:你只是穷,不是选择困难

我们来认识一个简单的协程包greenlet。
我们来看一下什么是协程,在笔者看来协程就是AB之间的反复调用。
而这个包的名字我们就可以看出开发者对协程的理解和对绿色的深深恶意。
这里写图片描述
好啦,greenlet这个包没有之前写过的gevent那么复杂,不过同样也没有gevent包那么强大的功能。
我们先来看代码吧。

import greenlet#greenlet协程包
import time
def work1():
    for i in range(5):
        print("work1",i)
        time.sleep(1)
        g2.switch()#启动work2的子程序
def work2():
    for i in range(5):
        print("work2",i)
        time.sleep(1)
        g1.switch()#调用work1的子程序
g1 = greenlet.greenlet(work1)
g2 = greenlet.greenlet(work2)
g1.switch()#启动协程g1,注意协程只启动一个函数就可以开启整个协程

我们不难看出使用greenlet的几个步骤:
导入greenlet包
使用greenlet方法创建协程
switch启动协程
在A程序末尾调用B程序
B程序末尾调用A程序,实现协程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值