python之旅-协程是什么

今天看廖雪峰老师的python博客,异步io章节,接触到了携程(误),根据博客描述,总结的两个特点为:

虽然以前操作系统课接触过,但是还是让身为java码农的我感到懵逼,看了一下博客中的协程生产者消费者示例代码,产生了如下理解,希望路过的大佬指正

1)实例化消费者,其实就是占据内存中的某个地址
2)produce(c) ,将该地址传入生产者
3)生产者 -- c.send(None),生产者中,向c这个地址发送了一个空对象,同时send方法会让出执行权
4)消费者 -- 获取执行权,走到循环体中,遇到yield r,让出执行权,并通过yield方法将r存入c地址
5)生产者 -- 或者执行权,从c地址获取返回的r,接着执行n=0,进入循环,执行到c.send(n),此时将n=1传入c地址,并让出执行权
6)消费者 -- 获取执行权,从c地址获取生产者传入的n,打印Comsuming s%,并给r赋值200 ok,进入第二次循环,通过yield r将200 ok传入c地址,并让出执行权
7)生产者 -- 获取执行权,从c地址获取200 ok,打印Comsumer return s%

如此循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值