1. 程式人生 > >python 歸納 (十二)_並發隊列Queue的使用

python 歸納 (十二)_並發隊列Queue的使用

隊列大小 使用 線程 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的使用