Periodic Threads and Timers
The scrubber and stats-gathering threads must wake up periodically to do their work.
These “background” threads are often called daemons or sleepers.
AlarmClock::Pause (int howlong); /* called by waiting threads */
Puts calling thread to sleep.
Maintains a collection of threads waiting for time to pass.
AlarmClock::Tick(); /* called by clock interrupt handler */
Wake up any waiting threads whose wait times have elapsed.