主進程與子進程是并發(fā)執(zhí)行的,進程之間默認(rèn)是不能共享全局變量的(子進程不能改變主進程中全局變量的值)。如果要共享全局變量需要用(multiprocessing.Value("d",10.0),數(shù)值)(multiprocessing.Array("i",[1,2,3,4,5]),數(shù)組)(multiprocessing.Manager().dict(),字典)(multiprocessing.Manager().list(range(5)))。進程通信(進程之間傳遞數(shù)據(jù))用進程隊列(multiprocessing.Queue(),單向通信),管道( multiprocessing.Pipe() ,雙向通信)。
成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計團隊扎實的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都10多年的網(wǎng)站建設(shè)設(shè)計經(jīng)驗,為成都超過千家中小型企業(yè)策劃設(shè)計了網(wǎng)站。import multiprocessing import time import os datalist=['+++'] #全局變量,主進程與子進程是并發(fā)執(zhí)行的,他們不能共享全局變量(子進程不能改變主進程中全局變量的值) def adddata(): global datalist datalist.append(1) datalist.append(2) datalist.append(3) print("子進程",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("主進程",os.getpid(),datalist)