The special thread a dispatcher will run when no ready thread is found. The primary purpose of the idle process and its threads is to remove what would otherwise be a special part in the scheduler. Without the idle threads, there would be cases when no threads were "Ready", or runnable in terms of Windows scheduling process. Since the idle threads are usually in a Ready state, this may never occur. Thus whenever the scheduler is invoked due to the current thread leaving the CPU, it can usually find another thread to execute on that CPU, even if it is only the processor's idle thread.