46. Temporizador de cocina
Crea una función que simule un temporizador de cocina. Esta función debe ejecutarse en un hilo separado o un proceso separado para no bloquear la ejecución del programa principal.
La función temporizador debe aceptar un número de segundos como entrada. Debe imprimir un mensaje cada segundo que pase y, al finalizar el tiempo, imprimir un mensaje de "¡Tiempo cumplido!".
import time
import threading # O multiprocessing
def temporizador(segundos: int):
# Tu código aquí (ejecutado en un hilo/proceso separado)
pass
# Ejemplo de uso (en el hilo/proceso principal)
# print("Iniciando programa principal...")
#
# # Lanzar el temporizador en segundo plano
# hilo_temporizador = threading.Thread(target=temporizador, args=(5,))
# hilo_temporizador.start()
#
# print("El programa principal continúa ejecutándose mientras el temporizador cuenta...")
# time.sleep(2) # Simula trabajo en el hilo principal
# print("Programa principal sigue su curso.")
#
# hilo_temporizador.join() # Esperar a que el temporizador termine
# print("Programa principal finalizado.")
Ratoncito
Implementa el temporizador utilizando hilos (threading). Asegúrate de que los mensajes se impriman correctamente cada segundo y que el programa principal no se bloquee.
Dragón
Añade la capacidad de pausar y reanudar el temporizador, o de detenerlo antes de que finalice, enviando una "señal" desde el hilo principal al hilo del temporizador. Explora cómo se puede comunicar el hilo principal con el hilo secundario de manera segura.
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
Support me on Ko-fi