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

Python通過4種方式實現(xiàn)進程數(shù)據(jù)通信

 更新時間:2020年03月12日 13:01:01   作者:我太難了008  
這篇文章主要介紹了Python通過4種方式實現(xiàn)進程數(shù)據(jù)通信,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

python提供了4種方式來滿足進程間的數(shù)據(jù)通信

1. 使用multiprocessing.Queue可以在進程間通信,但不能在Pool池創(chuàng)建的進程間進行通信

2. 使用multiprocessing.Manager.Queue可以在Pool進程池創(chuàng)建的進程間進行通信

3. 通過Pipe進行線程間的通信, pipe進程間通信的性能高于Queue,但是它只能在兩個進程間進行通信

4. 使用Manager類提供的數(shù)據(jù)結構可以進行進程間的通信

from multiprocessing import Process, Queue, Pool, Manager, Pipe
# 注意線程間的通信,使用的queue.Queue
# from queue import Queue
import time


# 1. 使用multiprocessing.Queue可以在進程間通信

# def producer(queue):
#   queue.put('A')
#   time.sleep(2)
#
# def consumer(queue):
#   time.sleep(2)
#   data = queue.get()
#   print(data)
#
# if __name__ == '__main__':
#   queue= Queue(10)
#   p = Process(target=producer, args=(queue,))
#   c = Process(target=consumer, args=(queue,))
#   p.start()
#   c.start()
#   p.join()
#   c.join()


# 2. 使用共享全局變量,在多進程間通信(結論: 不行)
# def producer(a):
#   a += 1
#   time.sleep(2)
#
#
# def consumer(a):
#   time.sleep(2)
#   print(a)
#
# if __name__ == '__main__':
#   a = 1
#   p = Process(target=producer, args=(a,))
#   c = Process(target=consumer, args=(a,))
#   p.start()
#   c.start()
#   p.join()
#   c.join()


# 3. multiprocessing.Queue不能用于multiprocessing.Pool進程池創(chuàng)建的進程間進行通信
# def producer(queue):
#   queue.put('A')
#   time.sleep(2)
#
#
# def consumer(queue):
#   time.sleep(2)
#   data = queue.get()
#   print("consumer:%s" % data)
#
#
# if __name__ == '__main__':
#   # queue = Queue(10) # 這個是使用multiprocessing.Queue,無效
#   queue = Manager().Queue(10) # 這個是使用multiprocessing.Manager.Queue, 可以
#   pool = Pool(2)
#   pool.apply_async(producer, args=(queue,))
#   pool.apply_async(consumer, args=(queue,))
#   pool.close()
#   pool.join()


# 4.通過Pipe進行線程間的通信, pipe進程間通信的性能高于Queue
# def producer(pipe):
#   pipe.send('admin')
#
#
# def consumer(pipe):
#   data = pipe.recv()
#   print("consumer:%s" % data)
#
#
# if __name__ == '__main__':
#   receive_pipe, send_pipe = Pipe()
#   """Pipe只能適應于兩個進程間的通信"""
#   p = Process(target=producer, args=(send_pipe,))
#   c = Process(target=consumer, args=(receive_pipe,))
#   p.start()
#   c.start()
#   p.join()
#   c.join()


# 5. 進程間通信的其它方式

def add_data(p_dict, key, value):
  p_dict[key] = value

if __name__ == '__main__':
  progress_dict = Manager().dict() #Manager()類中提供的數(shù)據(jù)結構都能夠做到進程的通信
  first_progress = Process(target=add_data, args=(progress_dict, 'name', 'admin',))
  second_progress = Process(target=add_data, args=(progress_dict, 'age', 45,))
  first_progress.start()
  second_progress.start()
  first_progress.join()
  second_progress.join()
  print(progress_dict) #{'age': 45, 'name': 'admin'}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • pytorch中部分矩陣乘法和數(shù)組乘法的小結

    pytorch中部分矩陣乘法和數(shù)組乘法的小結

    本文主要介紹了pytorch中部分矩陣乘法和數(shù)組乘法的小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Python Vaex實現(xiàn)快速分析100G大數(shù)據(jù)量

    Python Vaex實現(xiàn)快速分析100G大數(shù)據(jù)量

    Vaex是一個開源的DataFrame庫,它可以對表格數(shù)據(jù)集進行可視化、探索、分析,甚至機器學習,這些數(shù)據(jù)集和你的硬盤驅動器一樣大。本文就來聊聊如何利用Vaex實現(xiàn)快速分析100G大數(shù)據(jù)量,需要的可以參考一下
    2023-03-03
  • Python圖像灰度變換及圖像數(shù)組操作

    Python圖像灰度變換及圖像數(shù)組操作

    這篇文章主要介紹了Python圖像灰度變換及圖像數(shù)組操作的相關資料,需要的朋友可以參考下
    2016-01-01
  • 詳解Python中如何寫控制臺進度條的整理

    詳解Python中如何寫控制臺進度條的整理

    這篇文章主要介紹了詳解Python中如何寫控制臺進度條的整理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • python使用if語句實現(xiàn)一個猜拳游戲詳解

    python使用if語句實現(xiàn)一個猜拳游戲詳解

    這篇文章主要介紹了python使用if語句實現(xiàn)一個猜拳游戲詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python統(tǒng)計字符內容的占比的實現(xiàn)

    Python統(tǒng)計字符內容的占比的實現(xiàn)

    本文介紹了如何使用Python統(tǒng)計字符占比,包括字符串中字母、數(shù)字、空格等字符的占比,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • Python如何安裝mysql數(shù)據(jù)庫模塊

    Python如何安裝mysql數(shù)據(jù)庫模塊

    這篇文章主要介紹了Python如何安裝mysql數(shù)據(jù)庫模塊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • django安裝xadmin及問題解決

    django安裝xadmin及問題解決

    本文主要介紹了django安裝xadmin及問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • python中Matplotlib繪制直線的實例代碼

    python中Matplotlib繪制直線的實例代碼

    在本篇文章里小編給大家整理的是一篇關于python中Matplotlib繪制直線的實例代碼內容,有興趣的朋友們可以跟著學習下。
    2021-07-07
  • 用Python實現(xiàn)定時備份Mongodb數(shù)據(jù)并上傳到FTP服務器

    用Python實現(xiàn)定時備份Mongodb數(shù)據(jù)并上傳到FTP服務器

    這篇文章主要介紹了用Python實現(xiàn)定時備份Mongodb數(shù)據(jù)并上傳到FTP服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01

最新評論

乌海市| 松潘县| 夏津县| 肃宁县| 永胜县| 庆安县| 长岭县| 翁牛特旗| 泰宁县| 海口市| 汝州市| 垦利县| 陈巴尔虎旗| 余庆县| 临沭县| 涿州市| 陆良县| 彩票| 锦屏县| 成都市| 洛宁县| 奈曼旗| 涟源市| 兴城市| 三台县| 林甸县| 安顺市| 阿鲁科尔沁旗| 依安县| 佛冈县| 抚远县| 台江县| 苏尼特右旗| 齐河县| 洪雅县| 互助| 平湖市| 黑水县| 澳门| 西和县| 荣成市|