Python 佇列模組 Queue

2022-06-16 06:18:07 字數 1176 閱讀 3694

佇列queue模組

"""

管道:subprocess

stdin stdout stderr

佇列:管道+鎖

佇列:先進先出

堆疊:先進後出

"""from multiprocessing import queue

# 建立乙個佇列

q = queue(5) # 括號內可以傳數字 標示生成的佇列最大可以同時存放的資料量

# 往佇列中存資料

q.put(111)

q.put(222)

q.put(333)

# print(q.full()) # 判斷當前佇列是否滿了

# print(q.empty()) # 判斷當前佇列是否空了

q.put(444)

q.put(555)

# print(q.full()) # 判斷當前佇列是否滿了

# q.put(666) # 當佇列資料放滿了之後 如果還有資料要放程式會阻塞 直到有位置讓出來 不會報錯

"""訪問資料 存是為了更好的取

千方百計的存、簡單快捷的取

同在乙個屋簷下

差距為何那麼大

"""# 去佇列中取資料

v1 = q.get()

v2 = q.get()

v3 = q.get()

v4 = q.get()

v5 = q.get()

# print(q.empty())

# v6 = q.get_nowait() # 沒有資料直接報錯queue.empty

# v6 = q.get(timeout=3) # 沒有資料之後原地等待三秒之後再報錯 queue.empty

try:

v6 = q.get(timeout=3)

print(v6)

except exception as e:

print('一滴都沒有了!')

# # v6 = q.get() # 佇列中如果已經沒有資料的話 get方法會原地阻塞

# print(v1, v2, v3, v4, v5, v6)

"""q.full()

q.empty()

q.get_nowait()

在多程序的情況下是不精確

"""

鳴謝:jason老師

erlang 佇列(queue)模組

queue模組部分api說明 新建乙個佇列,返回兩個為空的列表組成的元組 是否是佇列,通過判斷元組是否由兩個列表組成 是否為空佇列,通過判斷兩個列表是否為空 佇列長度,通過獲取兩個列表長度相加實現 佇列轉為列表,由out列表拼接反轉後的in列表實現 列表轉為佇列,呼叫了f2r f2r f2r f f...

Python 原始碼分析 queue 佇列模組

起步 queue 模組提供適用於多執行緒程式設計的先進先出 fifo 資料結構。因為它是執行緒安全的,所以多個執行緒很輕鬆地使用同乙個例項。原始碼分析 先從初始化的函式來看 從這初始化函式能得到哪些資訊呢?首先,佇列是可以設定其容量大小的,並且具體的底層存放元素的它使用了collections.de...

Python程式設計 queue佇列

import queue q1 queue.queue q1.put 1 q1.put 2 q1.put 3 print q1.get print q1.get print q1.get 1 2 3import queue q2 queue.lifoqueue q2.put 1 q2.put 2 q...