python 31 程序間的資料共享

2022-06-27 01:33:11 字數 803 閱讀 5691

與資料傳遞不同,資料共享,就是說兩個程序都可以修改這個資料了。

只要用 manager 即可,不需要加鎖,因為manager會處理好互斥。

"""

資料共享:多個程序同時修改 不需要加鎖manager

1.建立變數

2.把變數作為引數傳遞給子程序

"""from multiprocessing import process, manager

import os

#共享資料為:乙個字典,乙個列表

#每個程序都可傳遞值

def f(d, l):

d[1] = '1'

d['2'] = 2

d[0.25] = none

print(l)

if __name__ == '__main__':

with manager() as manager:

d = manager.dict() #生成乙個字典,可在多個程序間共享和傳遞

l = manager.list(range(5)) #共享列表

p_list =

for i in range(10): #建立了10個程序

p = process(target=f, args=(d, l))#傳了兩個引數

p.start()

for res in p_list: #等待結果

res.join()

print(d)

print(l)

python 併發程式設計 04 多程序間的記憶體共享

匯入 from multiprocessing import manager 例項化 m manager num m.dict num m.list 1,2,3 程式示例 from multiprocessing import manager,process def fun num num 0 0 ...

python 管道,程序間的資料共享

一.管道 管道傳輸資料是不安全的,佇列是安全的 匯入管道 from multiprocessing import pipe 建立管道 pipe duplex 在程序之間建立一條管道,並返回元組 conn1,conn2 其中conn1,conn2表示管道兩端的連線物件.管道的建立必須在process物...

python 程序間共享資料 三

python的multiprocessing模組包裝了底層的機制,提供了queue pipes等多種方式來交換資料。我們以queue為例,在父程序中建立兩個子程序,乙個往queue裡寫資料,乙個從queue裡讀資料 from multiprocessing import process,queue ...