Threads démons en Python

Manav Narula 30 janvier 2023
  1. Définissez le paramètre daemon pour créer un thread démon en Python
  2. Utilisez la fonction setDaemon() pour changer un thread en un thread démon en Python
Threads démons en Python

Les threads sont une petite séquence d’instructions à traiter, et nous pouvons avoir différents threads exécutés simultanément pour augmenter l’efficacité. Nous avons des threads démons et des threads non démons.

Ce tutoriel abordera les threads démons en Python.

Définissez le paramètre daemon pour créer un thread démon en Python

Les threads qui prennent en charge le non-démon et le thread principal sont appelés les threads démons. Ils n’empêchent pas la sortie du thread principal. les threads non démons peuvent également s’exécuter après l’exécution du thread principal, mais les threads démons arrêtent l’exécution avec le thread principal.

C’est pourquoi les threads démons agissent comme un bon support pour les threads principaux et non démons. Nous utilisons des threads démons pour exécuter des fonctions de base comme la récupération de place, qui s’arrêtera lorsque le programme principal se terminera, que le processus soit terminé ou non.

Pour créer un thread démon, nous définissons le paramètre daemon de la fonction threading.Thread() sur True.

Par example:

import threading
import time


def thread_x():
    print("Start ", threading.currentThread().name)
    time.sleep(5)
    print("Finish ", threading.currentThread().name)


def thread_y():
    print("Start ", threading.currentThread().name)
    print("Finish ", threading.currentThread().name)


x = threading.Thread(target=thread_x, name="Thread-X", daemon=True)
y = threading.Thread(target=thread_y, name="Thread-Y")


x.start()
y.start()

Production :

Start  Thread-X
Start  Thread-Y
Finish  Thread-Y

Dans l’exemple, nous pouvons observer que le thread x, un thread démon, arrête l’exécution lorsque le thread non démon y s’arrête et que le programme se termine.

Utilisez la fonction setDaemon() pour changer un thread en un thread démon en Python

On peut aussi utiliser la fonction setDaemon() pour changer un thread et en faire un thread démon. Nous devons passer True en paramètre avec cette fonction.

La fonction isDaemon() renverra True si un thread est un thread démon ; sinon, il retournera false.

Nous allons maintenant utiliser ces méthodes dans l’exemple suivant.

import threading
import time


def thread_x():
    print("Start ", threading.currentThread().name)
    time.sleep(5)
    print("Finish ", threading.currentThread().name)


def thread_y():
    print("Start ", threading.currentThread().name)
    print("Finish ", threading.currentThread().name)


x = threading.Thread(target=thread_x, name="Thread-X")
y = threading.Thread(target=thread_y, name="Thread-Y")

x.setDaemon(True)
print(x.isDaemon())
print(y.isDaemon())

x.start()
y.start()

Production :

True
False
Start  Thread-X
Start  Thread-Y
Finish  Thread-Y
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Thread