08 佇列
阿新 • • 發佈:2019-01-14
from multiprocessing import Process,Queue q = Queue(3) #建立一個佇列物件,佇列長度為3,先進先出 q.put(1) # print('>>>>>',q.qsize()) #返回當前佇列的內容長度 print(q.full()) q.put(2) # print('>>>>>',q.qsize()) q.put(3) print(q.full()) #q.full()瞭解,因為這個東西不可靠,滿了返回一個True,不滿返回一個False # print('sss') # q.put(4) #放入資料的時候,如果佇列滿了了,程式會在你put操作的地方阻塞 # try: # q.put_nowait(4) #不阻塞程式,但是會報錯queue.Full,可以通過捕獲異常來進行其他的操作 # except: # print('佇列滿了,玩別的去吧') # print('xxx') print(q.get()) print(q.get()) print(q.get()) print('是不是空了呀:',q.empty()) #q.empty()瞭解,因為這個東西不可靠,空了返回一個True,不空返 # q.put(4) # print('是不是空了呀:',q.empty()) #True或者False,因為q在put資料的時候,有一個細微的延遲 # 回一個False # print(q.get()) #如果佇列空了,程式會在這個地方卡主,也就是阻塞程式 try: q.get_nowait() #queue.Empty except: print('佇列空了,搞得別的事情') print('拿多啦')