Iniciar un hilo en Python
Este tutorial presentará el módulo threading
para crear e iniciar un subproceso en Python.
Definición de hilo
Un hilo es un conjunto de operaciones que deben ejecutarse. Ejecutar subprocesos significa que el programa tendrá dos o más cosas ejecutándose a la vez. Un hilo solo se puede ejecutar en un núcleo de la CPU. El subproceso se trata de cómo manejamos los subprocesos en un núcleo de CPU.
Implementación de subprocesos en Python
Python usa el módulo threading
para implementar subprocesos en programas. Puede crear una instancia de Thread
y luego llamarla para iniciar un subproceso separado.
Cuando crea una instancia de Thread
, pasa una función y una lista de argumentos para esa función. En este caso, le está diciendo al Thread
que ejecute la función thread_function()
y le pase 1 como argumento.
El thread_function()
registra algunos mensajes y duerme durante dos segundos.
# python 3.x
from threading import Thread
import time
import logging
def thread_function(name):
logging.info("Thread %s: starting", name)
time.sleep(2)
logging.info("Thread %s: finishing", name)
if __name__ == "__main__":
format = "%(asctime)s: %(message)s"
logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S")
thread = Thread(target=thread_function, args=(1,))
thread.start()
logging.info("Exiting")
Producción :
10:23:58: Thread 1: starting
10:23:58: Exiting
10:24:00: Thread 1: finishing
Visualización de subprocesos
El flujo del programa se muestra a continuación. Una vez que llama a start()
, activa thread_function()
y se ejecuta en un hilo separado. El programa principal también se ejecuta en paralelo como otro hilo.