欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python连载34-信息队列

程序员文章站 2022-04-15 09:07:30
一、生产者消费者模型 1.一个模型。可以用来搭建消息队列;queue是一个用来存放变量的数据结构,特点是:先进先出 二、源码 d25_2_queue_reconsitution.py​ https://github.com/ruigege66/Python_learning/blob/master/ ......

一、生产者消费者模型

 

1.一个模型。可以用来搭建消息队列;queue是一个用来存放变量的数据结构,特点是:先进先出

 

import threading

import time

import queue

class producer(threading.thread):

    def run(self):

        global queue

        count = 0

        while true:

            #qsize返回queue的内容长度

            if queue.qsize() < 1000:

                for i in range(100):

                    count = count + 1

                    msg = "生成产品"+str(count)

                    queue.put(msg)

                    print(msg)

            time.sleep(0.5)

​

class consumer(threading.thread):

    def run(self):

        global queue

        while true:

            if queue.qsize() > 100:

                for i in range(3):

                    #get是从queue中取出一个值

                    msg = self.name + "消费了" + queue.get()

                    print(msg)

            time.sleep(1)

if __name__ == "__main__":

    queue = queue.queue()

​

    for i in range(500):

        queue.put("初始产品"+str(i))

    for i in range(2):

        p = producer()

        p.start()

    for i in range(5):

        c = consumer()

        c.start()

 

Python连载34-信息队列

二、源码

d25_2_queue_reconsitution.py​

https://github.com/ruigege66/python_learning/blob/master/d25_2_queue_reconsitution.py

2.csdn:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料

 Python连载34-信息队列