Comparison between Process and Thread
Contents
Difference between Process and Thread in Tabular Form
Summary: The major difference between Process and Thread is a program under execution is known as a process. Thread is the smallest unit of a process.

Comparison Chart
Process | Thread |
---|---|
Process is also called a heavy-weight process. | Thread is also called light-weight process |
Operating system interface is required for process switching. | Operating system is not required for thread switching. |
Each process operates independently of the other process. | One thread can read, write or even completely clean another thread’s stack. |
In multiple processing, each process executes the same code but has its own memory and file resources. | All threads can share the same set of open files and child processes. |
More Time required for creation. | Less Time required for creation. |
System calls involved in the process. | No system calls involved. |
If one server process is blocked then other server processes cannot execute until the first process is unblocked. | If one thread is blocked and waiting then the second thread in the same task can run. |
Uses more resources. | Uses fewer resources. |
Threads
- Thread is a dispatchable unit of work. It consists of, program counter, a stack is also called a Light Weight Process(LWP). Because they take fewer resources than a process. A thread is Mask easy to create and destroy.
- It shares many attributes of a process. Threads are scheduled on a processor. Each thread can execute a set of instructions independent of other threads and processes.
- Every program has at least one thread. Programs without multithreading execute sequentially. That is, after executing one instruction the next instruction in sequence is executed.
- Thread is a basic processing unit to which an operating system allocates processor time and more than one thread can be executing code inside a process.
- When the user doubles click on the icon by using a mouse, the operating system creates a process and that process has one thread that runs the icon’s code.
- Each thread belongs to exactly one process and no thread can exist outside a process. Each thread represents a separate flow of control.
- When a process starts up a remote TCP connection, its thread handles the low-level details of sending out network packets.
- In Remote Procedure Call (RPC), servers are multithreaded. The server receives the messages using a separate! thread.
- The different operating system uses threads in different ways.
- Free memory is managed by kernel thread in LINUX OS.
- Solaris uses a kernel thread for interrupt handling.
Thread Advantages
- Context switching time is minimized.
- Thread support for efficient communication.
- Resource sharing is possible using threads.
- It is more economical to create and context switch threads.