← Volver

Cómo lanzar un hilo («thread»)

Python incluye el módulo estándar threading para trabajar con hilos. Para ello se crea una instancia de la clase Thread, indicando una función que será el punto de entrada del nuevo hilo, y luego se llama al método start() para iniciarlo.

from threading import Thread

def worker():
"""
Esta función se ejecuta en otro hilo.
"""
for i in range(5):
print("Hola, mundo!")

t = Thread(target=worker)
t.start()

Nótese que start() no espera a que finalice la ejecución del hilo. Para ello, utilícese el método join().

t = Thread(target=worker)
t.start()
t.join()
print("El hilo ha finalizado.")

Se pueden pasar los argumentos del punto de entrada vía el parámetro args.

# (...)
def worker(msg):
"""
Esta función se ejecuta en otro hilo.
"""
for i in range(5):
print(msg)

t = Thread(target=worker, args=("Hola mundo!",))
# (...)

O bien argumentos por nombre vía kwargs.

# (...)
def worker(msg=""):
"""
Esta función se ejecuta en otro hilo.
"""
for i in range(5):
print(msg)

t = Thread(target=worker, kwargs={"msg": "Hola mundo!"})
# (...)



¿Alguna duda sobre este código? ¡Preguntanos en el foro!