Maison > développement back-end > Tutoriel Python > Comment puis-je récupérer les valeurs de retour des processus enfants en multitraitement ?

Comment puis-je récupérer les valeurs de retour des processus enfants en multitraitement ?

Barbara Streisand
Libérer: 2024-12-04 16:10:13
original
256 Les gens l'ont consulté

How Can I Retrieve Return Values from Child Processes in Multiprocessing?

Comment capturer les valeurs de retour des fonctions basées sur des processus en multitraitement

Dans les applications multitraitements, il est courant d'avoir besoin de récupérer les valeurs de retour de fonctions exécutées par les processus enfants. La raison pour laquelle cela n'est pas facilement accessible est que les processus enfants ne peuvent pas transmettre directement les valeurs au processus principal. Cependant, il existe des techniques pour capturer efficacement ces valeurs.

Dans l'exemple donné, une liste de processus de travail est créée pour effectuer des tâches spécifiques et renvoyer leurs numéros de processus. Cependant, lorsque l'on tente d'accéder aux valeurs de retour des objets Process stockés dans la liste "jobs", il devient évident que ces valeurs ne sont pas directement stockées dans leurs attributs.

Pour surmonter ce défi, une approche différente est requis. Une solution efficace implique l'utilisation d'une variable partagée, telle qu'un dictionnaire. Cette variable partagée permet la communication entre les processus enfants et le processus principal.

Dans l'exemple modifié, un Manager est créé pour gérer la mémoire partagée entre les processus. Un dictionnaire, return_dict, est initialisé et passé en argument à la fonction de travail. Au sein du travailleur, le numéro de processus est attribué comme clé et le numéro de processus lui-même comme valeur.

Une fois que tous les processus ont terminé leur exécution, le processus principal rejoint les processus enfants puis accède au return_dict partagé. En itérant sur ses valeurs, les valeurs de retour souhaitées des processus enfants sont obtenues. Cette approche capture efficacement les valeurs de retour grâce à la communication inter-processus.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal