Un fil dans un programme est une collection d'instructions qui peuvent être effectuées séparément du reste du programme. En conséquence, chacune des nombreuses petites tâches qu'un programme étendu peut être divisée en plusieurs threads tant que leur exécution est indépendante de celle des autres tâches. Si un programme ne s'exécute que sur un seul thread, il n'utilise qu'un seul CPU ou un seul morceau de code. Cependant, si un programme peut être divisé en plusieurs threads et que chacun de ces threads utilise un CPU séparé, le programme fonctionnera beaucoup plus rapidement et sera plus efficace. Un fil ne fournit jamais un résultat directement en python. La procédure de thread «start ()» qui génère un thread d'exécution, démarre les actions en cours d'exécution du thread qui exécute notre script. L'approche «run ()» peut utiliser la méthode cible si l'on est fourni. L'objectif est simplement d'appeler la fonction dans un thread quelques-uns à la fois.
Exemple 1: Fonction Python renvoyant la valeur d'une opération filetée
Dans ce cas, nous utiliserons un script Python pour renvoyer la valeur de la fonction du thread. Un thread est un flux de traitement unique. Cela suggère que votre code s'occupera de deux événements simultanés. La majeure partie des solutions Python, cependant, ne fait que créer l'idée que plusieurs threads sont actifs en même temps. Le type de retour d'une fonction est généralement utilisé pour décrire la valeur qu'il fournit à l'utilisateur. Toute la procédure Python semble impliquer un gestionnaire d'événements, directement ou involontairement. Un fil ne répond pas instantanément aux valeurs. Le processus «run ()» est appelé par la méthode start () du thread, créant un thread séparé de traitement pour notre code. S'il est fourni, la fonction cible peut être appelée en utilisant la méthode «run ()». Pour récupérer les valeurs d'un thread, un thread dans un script doit d'abord être créé. Nous pouvons renvoyer une valeur de fonction à partir d'un seul thread ou de plusieurs threads.
Commençons maintenant à implémenter le code. Tout d'abord, nous importons le thread de la section de filetage. Le module de thread doit être importé pour créer des threads en python. La création d'entité du package «Threading» considère chaque thread comme un objet. Tandis que le package «thread» prend en compte une fonction de filetage. Ensuite, nous définissons une fonction avec le nom «func» à l'étape suivante. Étant donné que cette fonction est celle que l'utilisateur peut spécifier, nous lui avons donné un nom de notre choix. «Argu1» et «Returning_Val» ont été fournis comme paramètres à la fonction «Func» dans sa parenthèse.
Ensuite, dans l'étape suivante, nous utilisons «returning_val» et passons la valeur «0» tout en définissant l'expression «renvoyer la valeur de» et en passant l'argument «ArgU1» avec le symbole d'ajout. Après cela, nous avons créé la variable «returning_1_value» et l'avons définie sur «None * 1». De même, nous avons créé «returning_2_value» et l'avons réglé sur «None * 1» pour la deuxième valeur de retour. La méthode «func» montre la valeur de l'argument 1 et insère l'instruction de retour dans les positions de valeur de retour 0.
Pour créer un thread et appeler la fonction à l'intérieur, nous devons d'abord appeler «thread» puis «cible = func» dans chacune de ses parenthèses. La cible est essentiellement une fonction, nous cibleons donc «Func» et envoyons la liste des arguments du thread, qui contient «Thread 1» et la «valeur de retour 1». Dans ce cas, le renvoi 1 valeur est utilisé pour récupérer la valeur de la fonction où ce thread est stocké dans la variable «Thread1».Ensuite, nous effectuons la même procédure pour le deuxième fil. Nous appelons des threads, et à l'intérieur, nous passons la fonction «Func», dont la liste des paramètres est «Thread 2», ainsi que la «retour_2_value», que nous utilisons pour obtenir la valeur de la fonction. Ce thread le stocke dans la variable «Thread2». Les threads commencent maintenant à utiliser la fonction "start ()" avec "Thread1" et "Thread2". Dans l'étape suivante, nous utilisons les méthodes «join ()» pour attendre que les fils finissent l'exécution. La fonction "print ()" est ensuite utilisée dans la ligne suivante avec les arguments "returnin_1_value" et "returning_2_value".
Dans la sortie, il a affiché la valeur de retour. Tout d'abord, il a montré la déclaration d'impression dans laquelle nous avons passé la valeur de retour. La valeur de 1 est «Thread1», et 2 est «Thread 2». Ensuite, il a affiché l'instruction Threads, qui est «Renvoie la valeur du thread 1», et la seconde est «Renvoie la valeur du thread 2».
Exemple 2: plusieurs valeurs qui se renvoient d'un thread
Dans ce cas, nous retournerons plusieurs valeurs des threads à l'affichage de sortie. Lorsqu'un programme produit de nombreux threads et cycles grâce à leur exécution, il s'agit de la lecture multithlétique, également connue sous le nom de filetage, car il empêche une opération de plus longue. Ceci est efficace pour les activités qui peuvent être divisées en sous-tâches plus petites, chacune pouvant être donnée à un fil d'exécution.
Commençons par implémenter le code en important trois bibliothèques. Le package Python Time fournit une variété de représentations de codage pour le temps, telles que des objets, des nombres et des caractères. Dans la première importation, nous importons «sommeil» à partir du module temporel. Il vous permet également d'évaluer l'efficacité de votre script et d'attendre pendant qu'il s'exécute, en plus d'autres fonctionnalités que la représentation du temps. La procédure Sleep () du module de temps vous permet de suspendre l'exécution du fil d'appel pendant les plusieurs secondes que vous aimez. Après cela, nous importons «Thread» à partir du module de threading. La classe «Customthread» est définie à l'étape suivante, et il accepte l'argument «thread» comme seul paramètre.
Ensuite, nous définissons la méthode «_init_» et fournissons le mot-clé «soi». Chaque objet ou classe de Python a le mot-clé «auto» qui lui est attribué. Le mot-clé «auto» permet d'accéder rapidement à tous les exemples déclarés dans une classe, y compris ses méthodes et ses attributs. L'une des méthodes restreintes de Python est __init__. Dans la ligne suivante, nous appelons cette méthode à l'aide d'un thread en utilisant «Thread. en soi)". Ensuite, dans la ligne suivante, nous définissons la fonction «run ()» et passons l'argument «soi."Ensuite, nous utilisons la méthode" Sleep () "et définissons le temps sur" 1 "secondes, ce qui signifie qu'il arrête son exécution pendant une seconde.
Ensuite, nous définissons les valeurs dans chaque variable d'instance en utilisant «Self.VAL1 "," Selon.val2 ”et« soi.VAL3 "en définissant leurs valeurs sur" Hello "," 18 "et" True ", respectivement. En d'autres termes, nous avons appelé les valeurs en passant le mot-clé «soi» ici. Ensuite, nous avons appelé le «CustomThread» dans le thread et l'avons enregistré dans la variable «Thread». Après cela, nous utilisons la méthode start () avec des threads pour démarrer le thread et la technique «join ()» avec «Thread» pour attendre que le programme principal fonctionne. Ensuite, nous appelons la fonction «print ()», et à l'intérieur, nous appelons les valeurs de retour de threads passant les arguments «Thread.Val1 ”,« Fil.val2 ”et« fil.VAL3 ”.
Comme le montre la capture d'écran suivante, il renvoie plusieurs valeurs à partir de threads dans la sortie. La première valeur est «bonjour», la seconde est «18» et la troisième est «vraie», qui sont des valeurs de thread que nous avions stockées dans la fonction «run ()».
Conclusion
Nous avons discuté de la façon de renvoyer la valeur du thread ou les valeurs d'une fonction à partir d'un thread dans cet article. Deux instances ont été utilisées dans cet article. La valeur de fonction de l'opération de thread a été renvoyée dans le premier, et les nombreuses valeurs de thread ont été renvoyées dans l'affichage de sortie de la seconde. Dans chacune de nos instances, nous avons défini des fonctions définies par l'utilisateur qui sont appelées dans des threads. La classe «Customthread» a également été définie dans le deuxième exemple. Vous bénéficierez de la lecture de cet article lors de la recherche de ce sujet.