Each program is given a short time on the CPU before it is paused by the operating system. The operating system then allows the next program to make use of the CPU for a short time. By switching quickly between different programs (tasks), its appears to the user that all of them are happening at the same time.