Microcontrollers have hardware timers that tick at a set interval.
OnTick {
timer1++
if ( timer1 > timeout ){
// reset timeout
timer1 = 0
// do something
}
OnTick {
if ( timer1 > 0 ){
timer1 += -1
if ( timer1 == 0 ){
timer1 + random()
// do something
}
}