Maison  >  Article  >  développement back-end  >  Comment puis-je créer des threads en Python en utilisant des fonctions sans sous-classer Thread ?

Comment puis-je créer des threads en Python en utilisant des fonctions sans sous-classer Thread ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-25 07:05:29658parcourir

How can I create threads in Python using functions without subclassing Thread?

Création de threads en Python à l'aide de fonctions

Problème :

Pour exécuter deux fonctions simultanément dans un script Python, vous ne pouvez pas implémenter le threading à l'aide de l'exemple de code fourni. Vous préférez utiliser une fonction threadée au lieu d'une approche basée sur les classes.

Solution :

Vous pouvez créer des threads à l'aide de fonctions threadées en Python sans utiliser de sous-classe de Thread . Voici un exemple :

<code class="python">from threading import Thread
from time import sleep

def threaded_function(arg):
    for i in range(arg):
        print("running")
        sleep(1)


if __name__ == "__main__":
    thread = Thread(target=threaded_function, args=(10,))
    thread.start()
    thread.join()
    print("thread finished...exiting")</code>

Explication :

  • La fonction threaded_function est définie avec l'argument arg et à l'intérieur de celle-ci, vous pouvez effectuer toutes les opérations que vous souhaitez.
  • Dans le thread principal, une instance de la classe Thread est créée avec threaded_function comme cible et un tuple d'arguments comme paramètre args.
  • start() est appelé sur l'objet thread pour démarrer son exécution.
  • join() est utilisé pour attendre que le thread termine son exécution avant de continuer.

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!

Déclaration:
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