Je me bats un peu avec quelque chose qui devrait en fait être assez simple à faire. J'ai une fonction qui fait un peu de calcul long, pour simplifier loks comme ceci:Python - le moyen le plus simple possible d'exécuter des fonctions en parallèle
import time
def compute_stuff(number):
time.sleep(10)
return [number*2, number*4]
Je veux exécuter deux instances de cette fonction en parallèle et recueillir leurs résultats dans un tableau. J'ai lu un peu réacteur tordu et il semble fournir des requêtes asynchrones, mais exécute tout en un seul fil quand je fais par exemple:
from twisted.internet import reactor
import time
def compute_stuff(number):
time.sleep(10)
return [number*2, number*4]
reactor.callWhenRunning(compute_stuff, 1)
reactor.callWhenRunning(compute_stuff, 4)
reactor.callWhenRunning(compute_stuff, 2)
reactor.run()
Il attend que le premier appel à remplir avant d'exécuter le suivant . Y a-t-il un moyen de le rendre parallèle? Twisted est-il même le chemin à parcourir?