Threads démons en Python
-
Définissez le paramètre
daemon
pour créer un thread démon en Python -
Utilisez la fonction
setDaemon()
pour changer un thread en un thread démon 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
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