首页 > 其他 > 详细

10.4通过生成器yield实现伪并发

时间:2018-03-31 10:52:10      阅读:212      评论:0      收藏:0      [点我收藏+]
通过生成器yield实现伪并发

可以直接作用于for循环的数据类型有以下几种:
一类是集合数据类型,如list ,tuple,dict,string,set等;
一类是generator,包括生成器和带yield的generator function;
这些可以直接作用于for循环的对象统称为可迭代对象:iterable,可以使用isinstance()判断一个对象是否是iterable对象

# -*-coding:utf-8 -*-
__date__ = ‘2018/3/18 ‘
__author__ = ‘xiaojiaxin‘
__file_name__ = ‘伪并发‘

import time

def consumer(name):
    print("%s  准备吃包子!"%name)
    while True:
        baozi=yield

        print("包子[%s]来了,被[%s]吃啦"%(baozi,name))

def producer(name):
    c=consumer("A")
    c2=consumer("B")
    c.__next__()
    c2.__next__()
    print("开始准备做包子了!")
    for i in range(10):
        time.sleep(1)
        print("做了2个包子!")
        c.send(i)
        c2.send(i)

producer("jia")

大家对内容有任何问题,欢迎留言,一定在第一时间解答,谢谢大家!

10.4通过生成器yield实现伪并发

原文:http://blog.51cto.com/10777193/2093262

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!