Si je comprends bien, apply_async renvoie immédiatement avec un objet AsyncResult. Si je collectionne ces objets de la façon suivante, et que j'utilise get() seulement après que tous les ouvriers ont fini, est-il sûr de supposer que les valeurs seront dans l'ordre dans lequel la fonction a été appelée?apply_async ordre des résultats
objRes = [None] * len(aRange)
pool = Pool(processes=8)
for x in aRange:
objRes[x] = pool.apply_async(f,(arg1, arg2, arg3,))
pool.close()
pool.join()
res = [None] * len(aRange)
for x in aRange:
res[x] = objRes[x].get()
J'ai commencé à essayer d'utiliser pool.map() et pool.starmap() au lieu, mais j'ai deux tableaux dans le cadre des arguments et ne pouvait pas comprendre exactement comment les passer.