Multithreading

Multithreading is a feature of modern computer hardware and software that allow independant multiple threads to appear to run at the same time. The operating system gives each thread a time slice, then suspends the thread and allows a different thread to run. This allows for greater flexibility and in programs and higher responsiveness of the computer as a whole. For example, a program that performs a lengthy operation can do so in a seperate worker thread while the main thread can continue to take in more user input or provide progress reports on the background thread's progress.