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:

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);
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...
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