Process means any program is in execution. Process control block controls the operation of any process. Process control block contains information about processes for example Process priority, process id, process state, CPU, register, etc. A process can creates other processes which are known as Child Processes. Process takes more time to terminate and it is isolated means it does not share memory with any other process.
Thread is the segment of a process means a process can have multiple threads and these multiple threads are contained within a process. A thread have 3 states: running, ready, and blocked.
Thread takes less time to terminate as compared to process and like process threads do not isolate.
Difference between Process and Thread:
|1.||Process means any program is in execution.||Thread means segment of a process.|
|2.||Process takes more time to terminate.||Thread takes less time to terminate.|
|3.||It takes more time for creation.||It takes less time for creation.|
|4.||It also takes more time for context switching.||It takes less time for context switching.|
|5.||Process is less efficient in term of communication.||Thread is more efficient in term of communication.|
|6.||Process consume more resources.||Thread consume less resources.|
|7.||Process is isolated.||Threads share memory.|
|8.||Process is called heavy weight process.||Thread is called light weight process.|
|9.||Process switching uses interface in operating system.||Thread switching does not require to call a operating system and cause an interrupt to the kernel.|
|10.||If one server process is blocked no other server process can execute until the first process unblocked.||Second thread in the same task could run, while one server thread is blocked.|
|11.||Process has its own Process Control Block, Stack and Address Space.||Thread has Parents’ PCB, its own Thread Control Block and Stack and common Address space.|
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Difference between Process Image and Multi Thread Process image
- Difference between User Level thread and Kernel Level thread
- Difference between Thread.start() and Thread.run() in Java
- Relationship between User level thread and Kernel level thread
- Difference between Process and Kernel Thread
- Difference between Process and User Level Thread
- Difference between Thread Context Switch and Process Context Switch
- Process-based and Thread-based Multitasking
- Process Table and Process Control Block (PCB)
- Process states and Transitions in a UNIX Process
- Process Scheduler : Job and Process Status
- Pass the value from child process to parent process
- Difference between Product and Process
- Difference between Program and Process
- Difference between Software Engineering process and Conventional Engineering Processs
- Thread in Operating System
- Mutex lock for Linux Thread Synchronization
- Thread Models in Operating System
- Lock framework vs Thread synchronization in Java
- Golang | Goroutine vs Thread
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.