10.4經過生成器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(1,10,2):
        time.sleep(1)
        print("作了2個包子!")
        c.send(i)
        c2.send(i+1)

producer("jia")

你們對內容有任何問題,歡迎留言,必定在第一時間解答,謝謝你們!ide

相關文章
相關標籤/搜索