python queue模块
时间: 2023-08-22 10:10:51 浏览: 109
在Python中,queue模块提供了实现队列的各种类。其中最常用的类是`Queue`和`PriorityQueue`。
`Queue`类是一个线程安全的先进先出队列。它提供了`put()`和`get()`等方法来进行入队和出队操作。可以使用`Queue(maxsize)`创建一个具有最大容量的队列,默认为无限大。
以下是一个简单的示例:
```python
from queue import Queue
# 创建一个队列
q = Queue()
# 入队
q.put(1)
q.put(2)
q.put(3)
# 出队
while not q.empty():
print(q.get())
```
输出结果:
```
1
2
3
```
`PriorityQueue`类是一个线程安全的优先级队列。它与普通队列相比,能够根据元素的优先级进行排序。通过在入队时指定优先级,可以控制元素的出队顺序。
以下是一个简单的示例:
```python
from queue import PriorityQueue
# 创建一个优先级队列
q = PriorityQueue()
# 入队
q.put((3, 'Priority 3'))
q.put((1, 'Priority 1'))
q.put((2, 'Priority 2'))
# 出队
while not q.empty():
print(q.get())
```
输出结果:
```
(1, 'Priority 1')
(2, 'Priority 2')
(3, 'Priority 3')
```
除了这两个类,queue模块还提供了其他一些类,如`LifoQueue`(后进先出队列)和`SimpleQueue`(简单队列)等,可以根据需要选择适合的队列类型。
阅读全文