Iniciar un hilo en Python

Fumbani Banda 15 febrero 2024
  1. Definición de hilo
  2. Implementación de subprocesos en Python
  3. Visualización de subprocesos
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.

iniciar hilo en python

Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Artículo relacionado - Python Thread