Switching the CPU between all the various threads in the system.
OS gives to one thread a some period of time of the CPU, then when its time slice elapses, executing thread is suspended allowing another thread to run.
In Windows 9x, this time slice is about 20 milliseconds, meaning the systen scheduler could theoretically switch between 50 threads in one second.