Bonsoir à tous,
Je suis devant un problème de partage de variables dans un pool. J'ai ainsi une fonction que je veux faire tourner dans un pool mais qui devrait modifier des variables global afin que tous les process partagent les mêmes valeurs.
Comme un code explique souvent mieux une situation:
Vous comprendrez bien sûr que c'est un code d'exemple et que si je voulais tester ces deux "if" je ne passerais pas forcément par du pool...
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 def init(args): global variables1 global variables2 variables1 = args variables2 = args def function(i): global variables1 global variables2 if i > variables1: variable1.value = i if i*100 < variables2: variable2.value = i*100 pool = Pool(initializer = init, initargs = (variables1, variables2 )) Result=[] for i in pool.imap_unordered(function, xrange(250)): Result.append(i);
le code ci dessus montre donc ce que j'ai essayé de faire pour partager les variables 1 et 2 dans tous les processus, mais ca ne marche pas (init() takes exactly 1 argument (2 given)....
Quelqu'un est t'il déjà passé au travers?
Merci pour votre aide
Partager