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

溫馨提示×

溫馨提示×

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

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

Python中怎么實現進程間通過隊列共享數據

發布時間:2021-07-22 17:25:03 來源:億速云 閱讀:102 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關Python中怎么實現進程間通過隊列共享數據,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

隊列中的數據是放在內存中的,可以通過分布式緩存redis優化隊列。

demo.py(進程通過隊列共享數據):

import multiprocessing
def download_from_web(q):
  """下載數據"""
  # 模擬從網上下載的數據
  data = [11, 22, 33, 44]
  # 向隊列中寫入數據
  for temp in data:
    q.put(temp) # 隊列中寫數據,隊列滿了會阻塞。 put_nowait() 隊列滿了會拋異常
  print("---下載器已經下載完了數據并且存入到隊列中----")
def analysis_data(q):
  """數據處理"""
  waitting_analysis_data = list()
  # 從隊列中獲取數據
  while True:
    data = q.get() # 隊列中讀數據,隊列空了會阻塞。 get_nowait() 隊列空了會拋異常
    waitting_analysis_data.append(data)
    if q.empty(): # 隊列是否為空。 q.full() 隊列是否滿了。
      break
  # 模擬數據處理
  print(waitting_analysis_data)
def main():
  # 1. 創建一個隊列 (先進先出)
  q = multiprocessing.Queue(10) # 最多放10個數據。 如果不指定長度,默認最大(和硬件相關)
  # 2. 創建多個進程,將隊列的引用當做實參進行傳遞
  p1 = multiprocessing.Process(target=download_from_web, args=(q,))
  p2 = multiprocessing.Process(target=analysis_data, args=(q,))
  p1.start()
  p2.start()
if __name__ == "__main__":
  main()

運行結果:

---下載器已經下載完了數據并且存入到隊列中----
[11, 22, 33, 44]

關于Python中怎么實現進程間通過隊列共享數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

铜鼓县| 通海县| 江陵县| 江达县| 彰武县| 贺州市| 观塘区| 古交市| 迁安市| 濉溪县| 大名县| 郧西县| 科技| 崇州市| 峡江县| 永康市| 美姑县| 绍兴县| 西宁市| 土默特左旗| 彭州市| 芷江| 伊春市| 闽侯县| 龙南县| 梓潼县| 勐海县| 辛集市| 怀来县| 昔阳县| 东辽县| 通榆县| 岳阳市| 诏安县| 乌拉特中旗| 淮滨县| 调兵山市| 竹溪县| 兴城市| 安康市| 驻马店市|