Suponiendo que estás utilizando un microprocesador con sus propias interrupciones de hardware, deberías poder configurar dos temporizadores de hardware (a menos que sea un micro muy básico) y luego asignar una rutina de interrupción a cada uno, configurar los temporizadores con el período correcto , y todo sucederá.
El lento se "detendrá" si el rápido ocurre mientras se está ejecutando. Cuando ninguno de los dos se está ejecutando, puede ejecutar código no sensible al tiempo en el ciclo principal ().
Hasta ahora, otras respuestas parecen asumir un sistema operativo con su propio sistema de prioridad / interrupción, lo que supone una gran sobrecarga de tiempo, espacio y complejidad en la mayoría de los micros. Si lo hace con los temporizadores de hardware que pueden interrumpir el hardware, la respuesta será mucho más rápida.
Sin más detalles (MCU, idioma, más descripción del código ...) es muy difícil ser mucho más útil.
Como suena como si esto fuera un poco nuevo para ti, sugeriría leer sobre cómo escribir código que no se caiga sobre sí mismo cuando una rutina de interrupción cambia algo en medio de la otra haciendo algo; requiere un poco de pensamiento! Si los tiempos son muy críticos, es posible que tenga que ajustar los valores del temporizador para permitir que se produzca la interrupción, algunos temporizadores pueden generar errores del período +/- 1 debido a la forma en que funcionan los contadores: preguntar yo como lo se!