python併發 程序間資料共享

2022-06-12 09:15:08 字數 1565 閱讀 6433

程序之間共享資料(數值型):

import

multiprocessing

deffunc(num):

num.value=10.78 #

子程序改變量值的值,主程序跟著改變

if__name__=="

__main__":

num=multiprocessing.value("

d",10.0) #

d表示數值,主程序與子程序共享這個value。(主程序與子程序都是用的同乙個value)

print

(num.value)

p=multiprocessing.process(target=func,args=(num,))

p.start()

p.join()

print(num.value)

程序之間共享資料(陣列型):

import

multiprocessing

deffunc(num):

num[2]=9999 #

子程序改變陣列,主程序跟著改變

if__name__=="

__main__":

num=multiprocessing.array("

i",[1,2,3,4,5]) #

主程序與子程序共享這個陣列

print

(num[:])

p=multiprocessing.process(target=func,args=(num,))

p.start()

p.join()

print(num[:])

程序之間共享資料(dict,list):

import

multiprocessing

deffunc(mydict,mylist):

mydict[

"index1

"]="

aaaaaa"#

子程序改變dict,主程序跟著改變

mydict["

index2

"]="

bbbbbb

"子程序改變list,主程序跟著改變

if__name__=="

__main__":

with multiprocessing.manager() as mg:

#重新命名

mydict=multiprocessing.manager().dict() #

主程序與子程序共享這個字典

mylist=multiprocessing.manager().list(range(5)) #

主程序與子程序共享這個list

p=multiprocessing.process(target=func,args=(mydict,mylist))

p.start()

p.join()

print

(mylist)

print(mydict)

**:

理解併發程序

說說你對順序程式設計與併發程式設計的理解。並舉乙個例子進行說明 順序程式設計 嚴格按照順序執行,不受外界因素影響,所以不會對結果產生影響。和程式設計思想一樣,自上而下順序執行。舉例 超市排隊買單,每個人按先後順序排隊,每個人所購買的商品不同,但是他們都需要買單,才能走出商場。併發程式設計 併發程式不...

理解併發程序

順序程式設計 1 執行的順序性 即乙個程式在處理器上是嚴格按照順序執行的,每個操作必須在乙個操作開始之前結束 2 環境的封閉性 程式執行獨佔全機資源,注意,是全機資源!後面我們可以看到和併發設計的不同點 3 過程的可再重現性 簡單點說就是不管你的計算機配置高還是配置低 什麼時候執行 什麼地方執行,它...

理解併發程序

順序程式設計 程式順序執行是指其在處理器上的執行是嚴格有序的,即只有在前乙個操作結束後才能開始後續操作。如果有多個程式,這些程式必須按照呼叫次序嚴格有序執行。而且這些程式如果中斷,這是允許的,但不停止,中斷不會對程式最終造成影響,也就是說程式執行結果與執行速度無關。舉例 按順序從上往下求解過程雞兔同...