隊列

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())

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