# Xous API: ticktimer
The Xous `ticktimer` helps other processes track the passage of time through several mechanisms:
- It can report the elapsed uptime since boot in milliseconds.
- It can block a process for a specified number of milliseconds.
- It can block a process until a condition is met (i.e., condvar)
Processes that are blocked by `ticktimer` are entirely de-scheduled and consume no CPU
quantum; the only overhead is a few instructions to check the processes' runnability
state in the kernel's simple round-robin thread scheduler. Thus `sleep` and `condvar`
blocking states are very efficient.
`ticktimer`'s perception of time stops when a system goes into the suspend state;
thus on resume, the elapsed time picks up exactly where it left off. Wall-clock time
during suspend is tracked by the RTC module.
Xous currently has no notions of thread priority, but if it were to develop one,
the `ticktimer` would be the logical place to implement such a feature, as it has
a full view of all the waiting and runnable threads, and it can influence which ones
should be unblocked at a given quantum.