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])

图例:
    

 

 
posted @ 2018-11-25 18:56  山…隹  阅读(510)  评论(0编辑  收藏  举报