Bonjour à tous,
Soit le petit code suivant ou le processus père crée un dictionnaire avec Manager et le passe en args au processus fils. Ce dernier est censé ajouter des listes au dictionnaire de sorte que le tous soit partagé entre le fils et le père.
Le problème est que la valeur de d[1][0][1] ne change pas ni chez le processus fils ni chez le processus père.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import multiprocessing as mp import time def modif1(d): l=[3,4] d[1].append(l) print(d[1][0][1]) d[1][0][1]=60 print(d[1][0][1]) if __name__=='__main__': manager=mp.Manager() dic=manager.dict() dic[1]=manager.list() print(dic[1]) pr1=mp.Process(target=modif1,args=[dic]) pr1.start() pr1.join() print(dic[1])
Sauriez-vous comment faire pour que la maj prenne effet ?
Merci
Partager