程序之間共享資料(數值型):
importmultiprocessing
deffunc(num):
num.value=10.78 #
子程序改變量值的值,主程序跟著改變
if__name__=="
__main__":
num=multiprocessing.value("
d",10.0) #
d表示數值,主程序與子程序共享這個value。(主程序與子程序都是用的同乙個value)
(num.value)
p=multiprocessing.process(target=func,args=(num,))
p.start()
p.join()
print(num.value)
程序之間共享資料(陣列型):
importmultiprocessing
deffunc(num):
num[2]=9999 #
子程序改變陣列,主程序跟著改變
if__name__=="
__main__":
num=multiprocessing.array("
i",[1,2,3,4,5]) #
主程序與子程序共享這個陣列
(num[:])
p=multiprocessing.process(target=func,args=(num,))
p.start()
p.join()
print(num[:])
程序之間共享資料(dict,list):
importmultiprocessing
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()
(mylist)
print(mydict)
**:
理解併發程序
說說你對順序程式設計與併發程式設計的理解。並舉乙個例子進行說明 順序程式設計 嚴格按照順序執行,不受外界因素影響,所以不會對結果產生影響。和程式設計思想一樣,自上而下順序執行。舉例 超市排隊買單,每個人按先後順序排隊,每個人所購買的商品不同,但是他們都需要買單,才能走出商場。併發程式設計 併發程式不...
理解併發程序
順序程式設計 1 執行的順序性 即乙個程式在處理器上是嚴格按照順序執行的,每個操作必須在乙個操作開始之前結束 2 環境的封閉性 程式執行獨佔全機資源,注意,是全機資源!後面我們可以看到和併發設計的不同點 3 過程的可再重現性 簡單點說就是不管你的計算機配置高還是配置低 什麼時候執行 什麼地方執行,它...
理解併發程序
順序程式設計 程式順序執行是指其在處理器上的執行是嚴格有序的,即只有在前乙個操作結束後才能開始後續操作。如果有多個程式,這些程式必須按照呼叫次序嚴格有序執行。而且這些程式如果中斷,這是允許的,但不停止,中斷不會對程式最終造成影響,也就是說程式執行結果與執行速度無關。舉例 按順序從上往下求解過程雞兔同...