gevent實現生產者消費者

from gevent import monkey;monkey.patch_all()
from gevent.queue import Queue #隊列 gevent中的隊列
import gevent
import random
#這個猴子補丁,all是全部能切換協程的地方都切換,包含了socket,因此通常都用all

qq = Queue(3)

def produceer():
while True:
item = random.randint(0,99)
qq.put(item)
print("生產了:", item)

def consumer():
while True:
item = qq.get()
print("消費了:",item)

p = gevent.spawn(produceer)
c = gevent.spawn(consumer)
gevent.joinall([p,c])

圖例:
    
相關文章
相關標籤/搜索