码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-03-31 11:00:08      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:Python   yield   伪并发   生成器   

通过生成器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实现伪并发

标签:Python   yield   伪并发   生成器   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!