1. 程式人生 > >08 佇列

08 佇列

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('拿多啦')