pausar un loop

Disculpen pero pueden ayudarme con una duda.

podrían decirme si se puede pausar un loop, quiero decir una ejecución en curso, por ejemplo: tengo dos pulsadores, el 1 al presionarse enciende un led por 20 segundos, pero si presiono primero el uno y en el transcurso de los 20 segundos presiono y mantengo presionado el pulsador 2 que el led se apague y hasta que suelte el pulsador encienda el led pero que siga contando los segundos en los que se quedo.

Tarea para el colegio?
Muestra el código de lo que has hecho hasta ahora.