python queue()
时间: 2023-10-31 17:59:35 浏览: 116
Python中的Queue模块提供了队列操作的功能,可以用于线程间的数据交换。你可以使用Queue模块中的Queue类来创建一个队列对象。具体的代码如下所示:
```python
import queue
q = queue.Queue()
```
另外,还有一种双边队列(deque)可以使用。你可以通过导入deque类来创建双边队列对象。示例代码如下:
```python
from collections import deque
dq = deque(['a', 'b'])
dq.append('c')
print(dq)
print(dq.pop())
print(dq)
print(dq.popleft())
print(dq)
dq.appendleft('d')
print(dq)
print(len(dq))
```
在Python中,你还可以使用Queue模块来实现生产者消费者模式。以下是一个多线程的生产者消费者示例代码:
```python
from queue import Queue
import time
import threading
q = Queue(maxsize=0)
def producer(name):
count = 1
while True:
q.put('气球兵{}'.format(count))
print('{}训练气球兵{}只'.format(name, count))
count += 1
time.sleep(5)
def consumer(name):
while True:
print('{}使用了{}'.format(name, q.get()))
q.task_done()
time.sleep(1)
t1 = threading.Thread(target=producer, args=('wpp',))
t2 = threading.Thread(target=consumer, args=('ypp',))
t3 = threading.Thread(target=consumer, args=('others',))
t1.start()
t2.start()
t3.start()
```
以上代码展示了一个生产者不断往队列中放入数据,消费者则不断从队列中取出数据并使用。这样就实现了生产者消费者模式。
阅读全文