1. 程式人生 > >操作系統OS,Python - 協程(Coroutine)

操作系統OS,Python - 協程(Coroutine)

while IT yield tin 支持 int urn .net cin

留坑

例子1. 用協程實現生產者,消費者模型

  1. Python對協程的支持是通過generator實現的。
  2. 參考:https://blog.csdn.net/pfm685757/article/details/49924099
  3. 參考:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432090171191d05dae6e129940518d1d6cf6eeaaa969000
"""
    1. 用協程實現消費者生產者模型
    2. Python對協程的支持是通過generator實現的
    3. 有yield的話,就是generator
""" def consumer(): r = ‘‘ while True: # n為send過來的值 # yield類似於斷點,有兩個作用。 # 1. 生成值 # 2. 在這裏斷點,交出控制權。 n = yield r if not n: return print(‘[CONSUMER] Consuming %s...‘ % n) r = ‘200 OK‘ def produce(c): #start generator with None
c.send(None) n = 0 while n < 5: n = n + 1 print(‘[PRODUCER] Producing %s...‘ % n) #啟動生成器,並附帶一個值,r接收yield生成的值 r = c.send(n) print(‘[PRODUCER] Consumer return: %s % r) c.close() c = consumer() produce(c)

操作系統OS,Python - 協程(Coroutine)