队列Queue栈LifoQueue优先级队列PriorityQueue

Posted aaronthon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队列Queue栈LifoQueue优先级队列PriorityQueue相关的知识,希望对你有一定的参考价值。

队列:队列是先进先出。

import queue

q = queue.Queue()
q.put(1)
q.put(2)
q.put(3)
q.put(4)
print(q.get())
print(q.get())
print(q.get())
print(q.get())

栈:栈是先进后出。

import queue


q = queue.LifoQueue()
q.put(1)
q.put(2)
q.put(3)
q.put(4)
print(q.get())
print(q.get())
print(q.get())
print(q.get())

优先级队列:优先队列是根据优先级判定谁先出来,如果优先级一样,则按数据的ascii码输出。

import queue


q = queue.PriorityQueue()
q.put((10, b))
q.put((30, a))
q.put((13, f))
q.put((-3, k))
q.put((-3.5, c))
q.put((-7.5, h))
print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.get())

输出结果:

(-7.5, h)
(-3.5, c)
(-3, k)
(10, b)
(13, f)
(30, a)

数越小越优先

优先级一样,比较后面数据的ascii码

 

以上是关于队列Queue栈LifoQueue优先级队列PriorityQueue的主要内容,如果未能解决你的问题,请参考以下文章

算法---队列

同一个进程内的队列(多线程) 线程池

Python_queue单项队列

并发编程之队列

queue模块的使用

Python:线程进程与协程——Queue模块及源码分析