A type of multitasking in which the operating system can interrupt a currently running program in order to run another program, as needed.
A type of pseudo-multitasking whereby the CPU allows an application a specified period of time and then preempts the processing to give time to another application.
In an operating system, a mechanism for interrupting a running task to allocate processor time to another task. Contrast with process multitasking.
A type of multitasking that allows tasks to be given priority levels. The operating system can then allocate resources to these tasks based on priority...
The operating system's ability to interrupt a thread at almost any time and assign the processor to a waiting thread. Multiple applications can thus run simultaneously, and a single application cannot monopolize all of the system's resources. See multitasking.
(Java Developer's Guide; search in this book)
The operating system preempts, or takes control away from a thread, under certain conditions, such as when another thread of higher priority is ready to run, or when an external interrupt occurs, or when the current thread waits on an I/O operation, such as a socket accept or a file read. Some Java virtual machines implement a type of round-robin preemption by preempting the current thread on certain virtual machine instructions, such as backward branches, method calls, or other changes in control flow. For a Java virtual machine that maps Java threads to actual operating system threads, the preemption takes place in the operating system kernel, outside the control of the virtual machine. Although this yields decent parallelism, it complicates garbage collection and other virtual machine activities.