队列

import queue
q=queue.Queue(maxsize=3) #先入先出模式 最大队列数3
q.put("d1") #先写d1
q.put("d2")
q.put("d3")

#q.put("d4") #卡住 只能放3个队列数 除非取出一个数
q.put("d4",block=False) #block设置为false 不会在堵住 抛出异常说队列满了
#q.put("d4",timeout=1) #只卡1秒 抛出异常说队列满了

print(q.qsize())

print(q.get()) # 先取d1
print(q.get())
print(q.get())

#print(q.get()) 超出队列数据会卡住 带数据写入队列之后再取

#print(q.get_nowait()) #不会在等待,没有数据直接退出 报队列为空

#print(q.qsize()) #队列为0就不要再取数据

#print(q.get(block=False)) #block堵塞 设置为false就不会堵塞了

print(q.get(timeout=1)) #卡1秒就不要在卡了

 

 

import queue
q=queue.LifoQueue() #后进先出模式

q.put(1)
q.put(2)
q.put(3)

print(q.get()) #先取后面的
print(q.get())
print(q.get_nowait())

 

 

import queue
q=queue.PriorityQueue()#可设置优先级模式的队列

q.put((-1,"chengronghua")) #(优先级,"数据") 元组的形式插入队列
q.put((3,"niuhangyang"))
q.put((10,"alex"))
q.put((6,"wangsen"))

print(q.get_nowait()) #优先级从小到大取对列数据
print(q.get_nowait())
print(q.get_nowait())
print(q.get_nowait())

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章