久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

Python進程間通信multiprocess代碼實例

瀏覽:53日期: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 編程
相關文章:
主站蜘蛛池模板: 多伦县| 昆山市| 香港| 正镶白旗| 武冈市| 特克斯县| 申扎县| 慈溪市| 文安县| 九龙城区| 吉首市| 托里县| 株洲县| 武平县| 堆龙德庆县| 鄯善县| 社旗县| 石柱| 邳州市| 应城市| 衡阳市| 都兰县| 城市| 奎屯市| 革吉县| 扎赉特旗| 巴彦淖尔市| 固始县| 洪泽县| 武川县| 延吉市| 高阳县| 徐水县| 曲麻莱县| 临夏市| 云浮市| 巴林左旗| 前郭尔| 卫辉市| 内丘县| 丰县|