greenlet实现协程

本文探讨了如何利用greenlet库在Python中创建和管理协程,通过test1和test2函数的交互,展示了如何实现在不同任务间的切换。读者将理解协程在多任务处理中的应用和greenlet的工作原理。
摘要由CSDN通过智能技术生成

greenlet实现协程

from greenlet import greenlet


def test1():
    print(12)
    gr2.switch()  # 2.jumps to test2,print 56
    print(34)


def test2():
    print(56)
    gr1.switch()  # 3.jumps to test1,print 34,then test1 finishes and gr1 dies
    print(78)


gr1 = greenlet(test1)  # create a new greenlet object gr1(without running it)
gr2 = greenlet(test2)  # create a new greenlet object gr2(without running it)

gr1.switch()  # 1.jumps to test1,print 12 #4. back to here

# 78 is never printed , test2 is no dead

创建了一个线程,实现多个任务之间不断重复切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值