Python multiprocessing, partager plusieurs variables
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:
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