Queue线程安全队列
一、Queue线程安全队列概述
Python内置的线程安全的模块叫queue
- Queue是线程安全的队列,在使用时无需加锁,可以在多线程中直接使用
- 队列也是实现线程间同步的方式
- FIFO(先进先出)队列Queue
- LIFO(后进先出)LifoQueue
二、Queue队列的常用函数
函数 | 描述 |
---|---|
qsize() | 返回队列的大小 |
empty() | 判断队列是否为空 |
full() | 判断队列是否满了 |
get() | 从队列中取最先插入的数据 |
put() | 将一个数据放到队列中 |
#创建一个队列,最多可以存放5个数据
q = Queue(5)
for i in range(4):
q.put(i)
print('队列中实际数据的多少:',q.qsize())
#取出队列当中的数据
for _ in range(5): #_只记录循环次数,不做变量使用
try: #队列中只有4个元素,而当前要取5次,会造成阻塞,程序在取完所有数据后不会停止,直到再放入一个数据完成第