(八)多线程之queue
一、线程queue
1,定义:
queue队列 :使用 import queue,用法与进程 Queue一样。
queue is especially useful in threaded programming when information must be exchanged safely between multiple threads.
2,class queue.Queue(maxsize=0) 队列功能:先进先出
import queue
q = queue.Queue(3) # 先进先出--> 队列,指定队列大小,最大三个值
q.put("first") # 放值,放任何类型的值都OK
q.put(2)
q.put("second")
# q.put(4) # 放多了,阻塞住,卡那了
# q.put(4,block=True) # block 这个参数默认是阻塞的(队列满了就阻塞了)
# q.put(4,block=False) # 不阻塞,但是会抛异常,告诉你队列满了 相当于 q.put_nowait(4)
# q.put(4,block=True,timeout=3) # 队列满的情况下阻塞,阻塞 3秒
print(q.get()) # 队列先进先出,取第一个进去的,这里是 "first"
print(q.get())
print(q.get())
# print(q.get()) # 值取没了,队列变空,再取值,阻塞住,卡那了,与put用法一样
print(q.get(block=True,timeout=3))
# q.get(block=False) 就相当于 q.get_nowait()

![(八)多线程之queue
[编程语言教程]](https://www.zixueka.com/wp-content/uploads/2024/01/1706715485-4d79e042c96575d.jpg)
