最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 進(jìn)程操作之進(jìn)程間通過隊(duì)列共享數(shù)據(jù),隊(duì)列Queue簡單示例

 更新時(shí)間:2019年10月11日 11:13:12   作者:houyanhua1  
這篇文章主要介紹了Python 進(jìn)程操作之進(jìn)程間通過隊(duì)列共享數(shù)據(jù),隊(duì)列Queue,結(jié)合實(shí)例形式分析了Python進(jìn)程數(shù)據(jù)共享、隊(duì)列數(shù)據(jù)處理相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python 進(jìn)程操作之進(jìn)程間通過隊(duì)列共享數(shù)據(jù),隊(duì)列Queue。分享給大家供大家參考,具體如下:

隊(duì)列中的數(shù)據(jù)是放在內(nèi)存中的,可以通過分布式緩存redis優(yōu)化隊(duì)列。

demo.py(進(jìn)程通過隊(duì)列共享數(shù)據(jù)):

import multiprocessing
def download_from_web(q):
  """下載數(shù)據(jù)"""
  # 模擬從網(wǎng)上下載的數(shù)據(jù)
  data = [11, 22, 33, 44]
  # 向隊(duì)列中寫入數(shù)據(jù)
  for temp in data:
    q.put(temp) # 隊(duì)列中寫數(shù)據(jù),隊(duì)列滿了會阻塞。 put_nowait() 隊(duì)列滿了會拋異常
  print("---下載器已經(jīng)下載完了數(shù)據(jù)并且存入到隊(duì)列中----")
def analysis_data(q):
  """數(shù)據(jù)處理"""
  waitting_analysis_data = list()
  # 從隊(duì)列中獲取數(shù)據(jù)
  while True:
    data = q.get() # 隊(duì)列中讀數(shù)據(jù),隊(duì)列空了會阻塞。 get_nowait() 隊(duì)列空了會拋異常
    waitting_analysis_data.append(data)
    if q.empty(): # 隊(duì)列是否為空。 q.full() 隊(duì)列是否滿了。
      break
  # 模擬數(shù)據(jù)處理
  print(waitting_analysis_data)
def main():
  # 1. 創(chuàng)建一個(gè)隊(duì)列 (先進(jìn)先出)
  q = multiprocessing.Queue(10) # 最多放10個(gè)數(shù)據(jù)。 如果不指定長度,默認(rèn)最大(和硬件相關(guān))
  # 2. 創(chuàng)建多個(gè)進(jìn)程,將隊(duì)列的引用當(dāng)做實(shí)參進(jìn)行傳遞
  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()

運(yùn)行結(jié)果:

---下載器已經(jīng)下載完了數(shù)據(jù)并且存入到隊(duì)列中----
[11, 22, 33, 44]

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫程序設(shè)計(jì)入門教程》及《Python常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

彭水| 永修县| 普陀区| 西贡区| 大连市| 东方市| 子洲县| 图木舒克市| 新乐市| 蚌埠市| 华宁县| 巩留县| 新营市| 盱眙县| 黔西| 乌鲁木齐市| 尤溪县| 武夷山市| 荔浦县| 贵溪市| 无极县| 延长县| 壤塘县| 神农架林区| 个旧市| 驻马店市| 宜阳县| 通辽市| 永登县| 广汉市| 万载县| 灵武市| 青州市| 乌拉特中旗| 许昌县| 阳高县| 灵璧县| 秭归县| 财经| 萨嘎县| 乌什县|