淺談Python 多進(jìn)程默認(rèn)不能共享全局變量的問題
主進(jìn)程與子進(jìn)程是并發(fā)執(zhí)行的,進(jìn)程之間默認(rèn)是不能共享全局變量的(子進(jìn)程不能改變主進(jìn)程中全局變量的值)。如果要共享全局變量需要用(multiprocessing.Value("d",10.0),數(shù)值)(multiprocessing.Array("i",[1,2,3,4,5]),數(shù)組)(multiprocessing.Manager().dict(),字典)(multiprocessing.Manager().list(range(5)))。進(jìn)程通信(進(jìn)程之間傳遞數(shù)據(jù))用進(jìn)程隊(duì)列(multiprocessing.Queue(),單向通信),管道( multiprocessing.Pipe() ,雙向通信)。
import multiprocessing import time import os datalist=['+++'] #全局變量,主進(jìn)程與子進(jìn)程是并發(fā)執(zhí)行的,他們不能共享全局變量(子進(jìn)程不能改變主進(jìn)程中全局變量的值) def adddata(): global datalist datalist.append(1) datalist.append(2) datalist.append(3) print("子進(jìn)程",os.getpid(),datalist) if __name__=="__main__": p=multiprocessing.Process(target=adddata,args=()) p.start() p.join() datalist.append("a") datalist.append("b") datalist.append("c") print("主進(jìn)程",os.getpid(),datalist)
以上這篇淺談Python 多進(jìn)程默認(rèn)不能共享全局變量的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)TCP探測目標(biāo)服務(wù)路由軌跡的原理與方法詳解
這篇文章主要介紹了Python實(shí)現(xiàn)TCP探測目標(biāo)服務(wù)路由軌跡的原理與方法,結(jié)合實(shí)例形式分析了Python TCP探測目標(biāo)服務(wù)路由軌跡的原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-09-09利用Python通過商品條形碼查詢商品信息的實(shí)現(xiàn)示例
這篇文章主要介紹了利用Python通過商品條形碼查詢商品信息,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07python爬蟲實(shí)戰(zhàn)之最簡單的網(wǎng)頁爬蟲教程
在我們?nèi)粘I暇W(wǎng)瀏覽網(wǎng)頁的時候,經(jīng)常會看到一些好看的圖片,我們就希望把這些圖片保存下載,或者用戶用來做桌面壁紙,或者用來做設(shè)計(jì)的素材。下面這篇文章就來給大家介紹了關(guān)于利用python實(shí)現(xiàn)最簡單的網(wǎng)頁爬蟲的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08Python用for循環(huán)實(shí)現(xiàn)九九乘法表
本文通過實(shí)例代碼給大家介紹了Python用for循環(huán)實(shí)現(xiàn)九九乘法表的方法,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05Python使用datetime庫實(shí)現(xiàn)對時間的獲取方法
這篇文章通過一個簡單示例給大家介紹了Python如何使用datetime庫實(shí)現(xiàn)對時間的獲取方法,文章通過代碼示例給大家介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下2023-11-11python神經(jīng)網(wǎng)絡(luò)VGG16模型復(fù)現(xiàn)及其如何預(yù)測詳解
這篇文章主要為大家介紹了VGG16模型的復(fù)現(xiàn)及其詳解(包含如何預(yù)測),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Django unittest 設(shè)置跳過某些case的方法
今天小編就為大家分享一篇Django unittest 設(shè)置跳過某些case的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Pandas提高數(shù)據(jù)分析效率的13個技巧匯總
這篇文章主要是為大家歸納整理了13個工作中常用到的pandas使用技巧,方便更高效地實(shí)現(xiàn)數(shù)據(jù)分析,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-05-05