La mise en œuvre rapide
1 avec une fonction différente de la donnée d'entrée
de multitraitement importation Piscine os à l'importation, le temps, au hasard Task1 def (nom): print ( 'Run tâche% (% s) ...' % (nom, os.getpid ())) start = time.time () temps .sleep (random.random () * 3) end = time.time () print ( 'tâche est exécutée% secondes 0.2f% s' % (nom, (fin - début))) si __name __ == '__ main__': imprimer ( 'procédé Parent% s' % os.getpid ()) p = piscine (4) pour i dans la plage (5): p.apply_async (TASK1, args = (i,)) print ( 'attente pour tous les sous - processus fait ... ') p.close () p.join () print (' Tous les sous - processus fait.)
Ou avec la fonction carte de la piscine, il est à noter que ce résultat et le rendement de séquence à l'entrée ne sont pas cohérentes i_list:
#coding: utf-8 import multitraitement def m1 (x): return x * x if __name__ == '__main__': piscine = multiprocessing.Pool (multiprocessing.cpu_count ()) i_list = plage (8) Résultats = pool.map ( m1, i_list)
impression (résultats)