91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python queue隊列原理與應用案例分析

發布時間:2020-09-03 15:01:45 來源:腳本之家 閱讀:138 作者:以夢為馬越騎越傻 欄目:開發技術

本文實例講述了Python queue隊列原理與應用。分享給大家供大家參考,具體如下:

作用:

   解耦:使程序直接實現松耦合,修改一個函數,不會有串聯關系。

   提高處理效率:FIFO = 現進先出,LIFO = 后入先出。

隊列:

  隊列可以并發的派多個線程,對排列的線程處理,并切每個需要處理線程只需要將請求的數據放入隊列容器的內存中,線程不需要等待,當排列完畢處理完數據后,線程在準時來取數據即可。請求數據的線程只與這個隊列容器存在關系,處理數據的線程down掉不會影響到請求數據的線程,隊列會派給其他線程處理這分數據,它實現了解耦,提高效率。隊列內會有一個有順序的容器,列表與這個容器是有區別的,列表中數據雖然是排列的,但數據被取走后還會保留,而隊列中這個容器的數據被取后將不會保留。當必須在多個線程之間安全地交換信息時,隊列在線程編程中特別有用。

參數介紹:

# 先入先出 maxsize 可設置大小,設置block=False拋異常
class queue.Queue(maxsize=0)
 # 后進先出
class queue.LifoQueue(maxsize=0)
# 存儲數據時可設置優先級的隊列
# 優先級設置數越小等級越高
class queue.PriorityQueue(maxsize=0)
# 放入數據
Queue.put(item, block=True, timeout=None)
# 取出數據 #沒有數據將會等待
Queue.get(block=True, timeout=None)
# 如果1秒后沒取到數據就退出
Queue.get(timeout = 1)
# 取數據,如果沒數據拋queue.Empty異常
Queue.get_nowait()
# 查看隊列大小
Queue.qsize()
# 返回True,如果空
Queue.empty() #return True if empty
# 設置隊列大小
Queue.full()
# 后續調用告訴隊列,任務的處理是完整的。
Queue.task_done()

生產者消費者模型:

import threading,time
import queue
# 最多存入10個
q = queue.Queue(maxsize=10)
def producer(name):
  count = 1
  while True:
      # 生產一塊骨頭
      q.put("骨頭 %s" % count )
      print("生產了骨頭",count)
      count +=1
      time.sleep(0.3)
def consumer(name):
  while True:
    print("%s 取到[%s] 并且吃了它" %(name, q.get()))
    time.sleep(1)
    # 告知這個任務執行完了
    q.task_done()
# 生成線程
p = threading.Thread(target=producer,args=("德國骨科",))
c = threading.Thread(target=consumer,args=("陳狗二",))
d = threading.Thread(target=consumer,args=("呂特黑",))
# 執行線程
p.start()
c.start()
d.start()

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜梁县| 息烽县| 宝应县| 敖汉旗| 宣汉县| 邻水| 隆子县| 普兰县| 三原县| 红河县| 垫江县| 龙南县| 河北区| 淳化县| 南靖县| 秦皇岛市| 聊城市| 吴江市| 西和县| 长葛市| 军事| 浮梁县| 金阳县| 灯塔市| 长垣县| 蓬安县| 土默特左旗| 曲松县| 合水县| 武义县| 新建县| 青浦区| 双鸭山市| 来凤县| 瑞金市| 新干县| 忻州市| 龙泉市| 新平| 永德县| 赫章县|