生成器並行

2022-09-01 10:48:10 字數 512 閱讀 5935

生成器的作用的在單執行緒下實現並行,稱為攜程,比執行緒更小的單位,依附於執行緒

def customer(name):

print("%s準備吃包子了"%name)

while true:

baozi = yield #生成器

print("%s吃了%s包子"%(name,baozi))

def producer():

c1 = customer("張三")

c2 = customer("李四")

c1.__next__() #啟用生成器

c2.__next__()

print("---正在做包子,別急---")

for i in range(3):

print("做好了2個豬肉餡的包子")

c1.send(i+1) #啟用生成器並賦乙個值

c2.send(i+1)

producer()

python生成器並行

生成器並行 import time defconsumer name print s 準備吃包子啦 name while true baozi yield print 包子 s 來了,被 s 吃了 baozi,name c consumer abc c.next b1 韭菜餡 c.send b1 s...

python生成器並行例項

生成器並行例項 send傳送值被yield接受到賦值給baozi變數 yield作用只是在這裡儲存這個值的當前狀態然後返回之後在呼叫next,又回到yield 單純呼叫next不會給yield傳值,next只是在呼叫yield,send是呼叫yield並且傳值 import time 協程def c...

python 生成器作用 Python生成器

生成器介紹 在函式內部包含yield關鍵字,那麼該函式執行的結果是生成器,生成器就是迭代器。生成器的功能 把函式結果做成迭代器 以一種優雅的方式封裝好iter,next 提供了一種自己定義迭代器的方式。使用生成器建立乙個迭代器 def a print a yield 11 使用yield,執行後返回...