python协程

首页 » 线/进程 » python协程

一、协程

def go():
    data=""
    r=yield data
    print("1",r,data)
    r=yield  data
    print("2",r,data)
    r=yield  data
    print("3",r,data)
    r=yield data #最后一个为空代表结束        #没有这个语句会报异常

my=go()
print(my.send(None))#启动,none启动
print(my.send("2"))
print(my.send("3"))

二、协程编号

def go():
    data=""
    for i in range(100):
        r=yield data
        print(i,r)


my=go()
print(my.send(None))
print(my.send("dd"))
print(my.send("ff"))

三、生产者消费者

def make(d):
    d.send(None)    #启动消费者
    n=0
    while n<10:
        n=n+1
        print("生产",n)
        r=d.send(n)
        print("消费者返回的",r)
    d.close()

def deleter():
    r=""
    while True:
        n=yield r   #获取发送的数据 n--收到的数据   r--返回的数据
        if not n:
            return
        print("消费",n)
        r="OK"

d=deleter()
make(d)
分享到:
赞(0) 打赏

评论 2

评论前必须登录!

 

  1. #1

    以后多多交流

    笨鸟先飞8个月前 (03-27)
  2. #2

    给你点赞

    沥青8个月前 (03-28)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00