Difference between Process and Thread

Comparison between Process and Thread

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 processThread is the smallest unit of a process.

Thread and Process In OS

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.
    1. Free memory is managed by kernel thread in LINUX OS.
    2. 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.




More Differences

  1. Difference Between Monolithic Kernel and Microkernel
  2. Difference Between Hard and Soft Real-Time System