This is useful for operations that only needs to occur at a frequency that is much lower than the timer frequency (in the case of preemptive multithreading) or the natural frequency of cooperative multithreading. For instance, we may only need to perform a self-diagnostic check every minute. The logic of this thread may be as follows:
The ability to schedule a thread to wake up later saves processing resources because the kernel can compare an internal counter value to the scheduled time very quickly.