Subprocesos de daemon en Python
-
Establezca el parámetro
daemon
para crear un subproceso de daemon en Python -
Use la función
setDaemon()
para cambiar un hilo a un hilo de Daemon en Python
Los subprocesos son una pequeña secuencia de instrucciones para ser procesadas, y podemos tener diferentes subprocesos ejecutándose simultáneamente para aumentar la eficiencia. Tenemos subprocesos daemon y subprocesos no daemon.
Este tutorial discutirá los subprocesos de daemon en Python.
Establezca el parámetro daemon
para crear un subproceso de daemon en Python
Los subprocesos que admiten el no demonio y el subproceso principal se denominan subprocesos demonio. No bloquean la salida del subproceso principal. los subprocesos que no son demonios también pueden ejecutarse después de la ejecución del subproceso principal, pero los subprocesos Daemon detienen la ejecución con el subproceso principal.
Es por eso que los subprocesos daemon actúan como un buen soporte para los subprocesos principales y no daemon. Usamos subprocesos de daemon para realizar funciones básicas como la recolección de basura, que se detendrá cuando finalice el programa principal, independientemente de si el proceso se completa o no.
Para crear un subproceso daemon, establecemos el parámetro daemon
de la función threading.Thread()
como True
.
Por ejemplo:
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()
Producción :
Start Thread-X
Start Thread-Y
Finish Thread-Y
En el ejemplo, podemos observar que el hilo x
, un hilo daemon, detiene la ejecución cuando el hilo no daemon y
deja de ejecutarse y el programa termina.
Use la función setDaemon()
para cambiar un hilo a un hilo de Daemon en Python
También podemos usar la función setDaemon()
para cambiar un hilo y convertirlo en un hilo demonio. Necesitamos pasar True
como parámetro con esta función.
La función isDaemon()
devolverá True
si un hilo es un hilo demonio; en caso contrario, devolverá false
.
Ahora usaremos estos métodos en el siguiente ejemplo.
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()
Producción :
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