python消息队列(生产者消费者模型)

from multiprocessing import Queue
from threading import Thread

import time

#创建生产者
def producer(q, n):
    print("开始生产")
    for i in range(n-99, n+1):
        print("生产{}".format(i))
        q.put(i)              #发消息
        if i == 80 or i == 180:
            time.sleep(2)
    print("结束生产")

#创建消费者,消费者一般是个死循环,要一直监听是否有需要处理的信息。
def customer(q):
    print("开始消费")
    while 1:
        data = q.get()#收消息
        print("消费者获取值:{0}".format(data))



if __name__ == '__main__':
  q = Queue()#创建一个队列
  pro = Thread(target=producer,args=(q, 100))
  pro2 = Thread(target=producer,args=(q, 200))
  cus = Thread(target=customer,args=(q,))
  pro.start()
  pro2.start()
  cus.start()

在这里插入图片描述

posted @ 2022-04-24 15:33  南瓜头pumpkin  阅读(16)  评论(0)    收藏  举报