国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python進程間通信multiprocess代碼實例

瀏覽:58日期:2022-08-02 09:05:00

仔細說來,multiprocess不是一個模塊而是python中一個操作、管理進程的包。 之所以叫multi是取自multiple的多功能的意思,在這個包中幾乎包含了和進程有關的所有子模塊。由于提供的子模塊非常多,為了方便大家歸類記憶,我將這部分大致分為四個部分:創建進程部分,進程同步部分,進程池部分,進程之間數據共享。重點強調:進程沒有任何共享狀態,進程修改的數據,改動僅限于該進程內,但是通過一些特殊的方法,可以實現進程之間數據的共享。

有了之前多線程使用以及線程間queue的基礎,多進程以及進程間通信就很好理解了,下面是多進程基本語法以及進程間通信簡單示例

#多進程基本語法import multiprocessing, time, osdef process_test(): time.sleep(3) print('my multiprocessing test') print('my pprocess id is',os.getppid()) print('my process id is',os.getpid())if __name__ == ’__main__’: #多線程必須寫在if __name__后面,為什么??? process = multiprocessing.Process(target=process_test) #啟動子進程 process.start()#多進程間數據通信,多進程的queue實際上是python將一個queue序列化后再反序列化給其它進程#定義一個函數,第一個形參傳遞一個進程queuedef m_queue_test(Queue, name): Queue.put(('multiprocess queue test',name)) #put一次只能傳遞一個數據對象,多個對象必須使用列表 元組 字典等傳遞if __name__ == ’__main__’: q = multiprocessing.Queue() #主進程實例化一個進程queue process2 = multiprocessing.Process(target=m_queue_test, args=(q, 'zsq')) #將q傳遞給子進程,由子進程往里面傳遞數據 process2.start() print(q.get())#主進程從queue里面讀數據

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 灌南县| 屏南县| 天峻县| 察隅县| 防城港市| 石阡县| 盐山县| 诸暨市| 苏尼特右旗| 于都县| 维西| 顺平县| 甘南县| 建湖县| 桂阳县| 盐津县| 岳阳市| 岳阳县| 泰兴市| 手机| 江油市| 长沙市| 文安县| 虹口区| 黎城县| 长春市| 长泰县| 沾益县| 商南县| 墨脱县| 瓮安县| 盐津县| 浮梁县| 准格尔旗| 依安县| 名山县| 甘洛县| 辽阳市| 尼玛县| 舞阳县| 满洲里市|