En Python, il peut être souhaitable d'exécuter plusieurs fonctions simultanément pour optimiser les performances, notamment lorsque les fonctions sont indépendantes et n'interfèrent pas les unes avec les autres. Cet article explore les techniques d'exécution de fonctions en parallèle.
En raison des limitations de l'interpréteur CPython, le threading peut ne pas fournir un véritable parallélisme. Le multitraitement, cependant, offre généralement de meilleures performances.
Considérons l'exemple suivant où nous souhaitons exécuter deux fonctions, func1 et func2, en parallèle :
def func1(): # Some code def func2(): # Some code
Pour exécuter ces fonctions simultanément en utilisant le multitraitement, nous pouvons utiliser ce qui suit étapes :
Créer des objets de processus pour chaque fonction :
p1 = Process(target=func1) p2 = Process(target=func2)
Démarrer les processus :
p1.start() p2.start()
Attendez que les processus complet :
p1.join() p2.join()
Pour simplifier le processus d'exécution de fonctions en parallèle, nous pouvons définir une fonction utilitaire :
def runInParallel(*fns): # Start the processes for fn in fns: p = Process(target=fn) p.start() # Wait for the processes to finish for p in fns: p.join()
Grâce à cette fonction, nous pouvons désormais exécuter facilement les deux fonctions simultanément :
runInParallel(func1, func2)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!