← Volver
No es posible devolver un valor vía
Cómo retornar un valor desde un hilo («thread»)
return
desde una función que se ejecuta en otro hilo y obtenerlo en el hilo principal. Sin embargo, se puede simular este procedimiento usando una cola vía la clase estándar queue.Queue
, que provee un tipo de dato para compartir información entre hilos de forma segura.import queue
import threading
import time
def worker(q: queue.Queue):
"""
Esta función se ejecuta en otro hilo.
"""
# Ejecutar alguna operación pesada.
time.sleep(3)
# Poner el valor de rertorno del hilo en la cola.
# Reemplácese 5 por el valor que se quiera devolver.
q.put_nowait(5)
# Cola para guardar el resultado del hilo.
q = queue.Queue()
# Iniciar el hilo.
t = threading.Thread(target=worker, args=(q,))
t.start()
# Esperar a que finalice.
t.join()
# Obtener el resultado.
result = q.get_nowait()
print("Resultado del hilo:", result)
👨💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.
🐍 También te puede interesar:
💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.