What is the difference between a thread and a process?

Alex Chaffee

A process is an OS-level task or service. A thread runs "inside" a process and may be virtual or simulated. Generally speaking, threads share resources like memory, where processes each have their own separate memory area, and need to take more elaborate steps to share resources.

Another name for thread is "lightweight process" to distinguish it from the "heavyweight" system processes.

See also What is the difference between a lightweight and a heavyweight process?