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.

Will you buy me a coffee?

Visitors in real time

You are alone: 🐱