Bonjour, question simple mais réponse pas si simple. Je veut lancer une fonction sur 4 coeur qui sauvegarde des résulats dans une matrice 2D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import multiprocessing data_pairs = [ [3,5], [4,3], [7,3], [1,6] ] matrix=[[],[]] def myfunc(p): print(p) matrix[0].append(p[0]+p[1]) matrix[1].append(p[0]*p[1]) return p[0] if __name__ == '__main__': pool = multiprocessing.Pool(processes=4) result_list = pool.map(myfunc, data_pairs) print(result_list) print(matrix) |
Mon problème c’est que ma fonction n’ajoute pas les données à ma matrice matrix je pense que c’est une histoire de partage mémoire, le processus python n’a pas accès à matrix qui est dans un autre processus. d’ou ma question, comment partager ma variable matrix.
+0
-0