Python中的队列是一种数据结构,遵循先进先出(FIFO)的原则。在Python中,你可以使用内置模块queue提供的Queue类来实现队列数据结构。队列是一种常见的数据结构,用于按照特定顺序处理数据项,例如任务调度、数据缓冲、事件处理等。
import queue
q=queue.Queue(5) #如果不设置,默认无限长
print('队列长度',q.maxsize)
q.put(1,block=True,timeout=1) #block=True表示写入操作是阻塞的,阻塞时间有timeout决定。
#当队列写满的时候,队列会被阻塞,直到其他线程取走数据。block=Flase 非阻塞的
print('队列真实长度',q.qsize())
print(q.get())
#取数据默认是阻塞的
print('队列真实长度',q.qsize())
import queue
q = queue.LifoQueue()
q.put(12)
q.put(34)
print(q.get())
优先级数越小,则优先级越高
import queue
q = queue.PriorityQueue()
q.put((3,'aaaaa'))
q.put((3,'bbbbb'))
q.put((1,'ccccc'))
q.put((3,'ddddd'))
print(q.get())
print(q.get())
import queue
q = queue.deque()
q.append(123)
q.append(456)
q.appendleft(780)
print(q)
print(q.pop())
print(q.popleft())