10.4通過生成器yield實現偽並發
阿新 • • 發佈:2018-03-31
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實現偽並發