Python之queue模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之queue模块相关的知识,希望对你有一定的参考价值。


queue是第一个队列模块,元素先进先出,取了就没有了
这里用queue模块实现简单的消费生产者模型
queue就是队列,是线程安全的,只能一边拿一边加元素进去
import queue
import threading


message = queue.Queue(10)


def produce(i):#生产者
    #while True:
    msg = message.put(i)#元素放进队列
    print(‘put:‘,i)
def consumer(i):#消费者
    #while True:
    msg = message.get()#等待拿走元素,如果一直没有,线程不会结束,而且队列内一个元素被拿走了就在队列里面去除了
    print(msg)

for i in range(10):
    t = threading.Thread(target=produce,args=(i,))
    t.start()
print(message.qsize())

for i in range(15):#每个人去队列里面取值
    t = threading.Thread(target=consumer,args=(i,))
    t.start()

print(message.qsize())

技术分享

 




以上是关于Python之queue模块的主要内容,如果未能解决你的问题,请参考以下文章

python并行任务之生产消费模式

python基础之进程间通信进程池协程

Python进程之multiprocessing模块

python Queue模块使用

42. Python Queue 模块

python queue 模块