多线程之线程queue

Posted blue-bubble

tags:

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

有三种不同的用法

class queue.Queue(maxsize=0) #队列:先进先出

 

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

class queue.LifoQueue(maxsize=0) #堆栈:last in fisrt out

技术图片
import queue

q=queue.LifoQueue()
q.put(‘first‘)
q.put(‘second‘)
q.put(‘third‘)

print(q.get())
print(q.get())
print(q.get())



‘‘‘
结果(后进先出):
third
second
first
‘‘‘
技术图片

class queue.PriorityQueue(maxsize=0) #优先级队列:存储数据时可设置优先级的队列

技术图片
import queue

q=queue.PriorityQueue()
#put进入一个元组,元组的第一个元素是优先级(通常是数字,也可以是非数字之间的比较),数字越小优先级越高
q.put((20,‘a‘))
q.put((10,‘b‘))
q.put((30,‘c‘))

print(q.get())
print(q.get())
print(q.get())



‘‘‘
结果(数字越小优先级越高,优先级高的优先出队):
(10, ‘b‘)
(20, ‘a‘)
(30, ‘c‘)
‘‘‘

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

python 多线程之Queue

多线程中的应用之队列(queue)

Java多线程总结之线程安全队列Queue

爬虫之多线程案例

关于多线程之GCD的一些学习要点

Python之queue模块