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

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

Python進程間通信multiprocess代碼實例

瀏覽:36日期: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 編程
相關文章:
主站蜘蛛池模板: 崇阳县| 田阳县| 广德县| 咸阳市| 福建省| 镶黄旗| 辛集市| 虎林市| 秀山| 阳朔县| 凭祥市| 太仓市| 汤原县| 阳朔县| 洪洞县| 金塔县| 巴林右旗| 巴彦县| 遂平县| 搜索| 同江市| 文登市| 双柏县| 沙湾县| 城市| 日土县| 呼伦贝尔市| 阿克苏市| 苗栗县| 博客| 布拖县| 岳西县| 卢氏县| 永靖县| 无极县| 九江市| 安康市| 巴彦淖尔市| 巧家县| 江达县| 页游|