python 歸納 (十二)_並發隊列Queue的使用
阿新 • • 發佈:2018-09-09
隊列大小 使用 線程 not 並發 style 之間 說明 get
# -*- coding: UTF-8 -*- """ 學習隊列 Queue 總結: 1. 隊列可以設置大小,也可以無限大小 2. 空了,滿了,讀寫時可以阻塞,也可以報錯 3. 隊列中可以存儲不同的數據類型對象 4. 隊列的實現大量用到 線程模塊 threading ,說明適用多線程之間的數據共享操作 不確定是否適合多進程之間的數據共享操作 5. 隊列的實現用到鎖操作,acquire,release,wait,notify 不需要在個人代碼中使用 使用: 1. 創建隊列對象 myqueue = Queue.Queue(maxsize=2) 2. 往隊列寫數據 myqueue.put(data) 3. 從隊列讀數據 myqueue.get()""" import Queue # size<=0,表示隊列無限長度 myqueue = Queue.Queue(maxsize=2) myqueue.put(5) myqueue.put("ab") # 支持不同的類型 print "flag1" # myqueue.put("cd") # 隊列滿了,會阻塞 # myqueue.put("cd",False) # 隊列滿了,會報錯 print "flag2" print myqueue.qsize() # 隊列大小 print myqueue.get() print myqueue.get()print myqueue.qsize() # 隊列大小 print myqueue.get() # 隊列空了,會阻塞 print myqueue.get(True) # 隊列空了,會阻塞 print myqueue.get(False) # 隊列空了,拋出異常 print "flag3" """ Out: flag1 flag2 2 5 ab 0 阻塞.... """
python 歸納 (十二)_並發隊列Queue的使用