← 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)
🐍 También te puede interesar:
💬 ¿Alguna duda sobre este código? ¡Preguntanos en el foro!
❤️ ¿Te gusta nuestro contenido? ¡Ayudanos a seguir creciendo con una donación!