J'ai python2.5 et multiprocessoring (obtenir de http://code.google.com/p/python-multiprocessing/)python2.5 multitraitement Piscine
Ce code simple (obtenir de docs), fonctionne très étrange de temps en temps, parfois ok, mais parfois il jette délai d'attente ex ou accrocher mon Windows (Vista), seulement réinitialiser aide :) Pourquoi cela peut-il arriver?
from multiprocessing import Pool
def f(x):
print "fc",x
return x*x
pool = Pool(processes=4)
if __name__ == '__main__':
result = pool.apply_async(f, (10,)) # evaluate "f(10)" asynchronously
print result.get(timeout=3) # prints "100" unless your computer is *very* slow
J'avais peur de recommencer :) mais ça marche! thanx) vraiment tirer créait encore et encore et cela se bloque. – Evg
@nikow: Pourquoi les processus seraient engendrés indéfiniment? Je peux voir les 4 enfants initiaux chacun créer un nouveau groupe de 4 enfants lors de l'importation du programme, mais je ne vois pas comment ils exécuteraient le code principal et appeler 'f' pour chacun de leurs enfants ... – EOL
@EOL: Je suspecte que dans chaque enfant le code du module est exécuté. Chaque fois qu'un nouveau pool est créé, engendrer 4 nouveaux enfants. Cela s'est produit sur ma machine et j'ai vu un très grand nombre de processus Python avant que la machine ne gèle. – nikow