常用方法
q = Queue(maxsize)
:创建长度为maxsize的队列q.put(item[, block=True, timeout=None])
:向队列添加数据
block
参数:默认True
,队列空则堵塞;False
如果空则返回None
timeout
参数:队列空则在timeout内堵塞;超过timeout还是空,返回None
q.get([block=True, timeout=None])
:从队列中按先进先出的方式取出元素,
block
参数:参考put方法timeout
参数:参考put方法
q.put_nowait(data)
:向队列立即添加数据,队列已满立即报错。q.get_nowait()
:立即获取队列数据,队列为空立即报错q.empty()
:判断队列是否为空q.full()
:判断队列是否已满q.qsize()
:获取队列中有多少个元素
线程队列
import threading
import time
from queue import Queue
def set_value(q):
i = 0
while True:
q.put(i)
print('往队列put: {}\n'.format(i), end='')
i += 1
time.sleep(1)
def get_value(q):
while True:
print('从队列get: {}\n'.format(q.get()), end='')
if __name__ == '__main__':
q = Queue(10)
threading.Thread(target=set_value, args=(q,)).start()
threading.Thread(target=get_value, args=(q,)).start()