1. 程式人生 > >用greenlet實現協程消費者生產者

用greenlet實現協程消費者生產者

程式碼:

  from greenlet import greenlet

  import random

  def pro():    生產者

    while True:

      item = random.randint(0,99)

      print("生產了:",item)

      c.switch(item)    向消費者傳送item ,並阻塞自己,解阻塞消費者

  def consumer():    消費者

    while True:

      item = p.switch()  用item接收生產者的資料,阻塞自己,解阻塞生產者

      print("消費了:",item)

  p = greenlet(pro)

  c = greenlet(consumer)

  c.switch()    從消費者開始執行