Understanding threads and processes

A thread is an independent flow of control that operates within the same address space as other independent flows of controls within a process.

Traditionally, thread and process characteristics are grouped into a single entity called a process. In other operating systems, threads are sometimes called lightweight processes, or the meaning of the word thread is sometimes slightly different.

The following sections discuss the differences between a thread and a process.

In traditional single-threaded process systems, a process has a set of properties. In multithreaded systems, these properties are divided between processes and threads.

Threads have some limitations and cannot be used for some special purposes that require multi-processed programs.