If none of these threads are ready to run, the system assigns time slices in a round-robin fashion to all threads with the next highest priority. The system assigns time slices in a round-robin fashion to all threads with the highest priority. The system treats all threads with the same priority as equal. (The zero-page thread is a system thread responsible for zeroing any free pages when there are no other threads that need to run.) Only the zero-page thread can have a priority of zero. The priority levels range from zero (lowest priority) to 31 (highest priority). Each thread is assigned a scheduling priority. Threads are scheduled to run based on their scheduling priority.