What are Threads?
One big process consists of one or multiple small threads. Threads are managed and scheduled separately by the scheduler.
Figure: Threads[quads id=2]
The difference between thread and process:
|Utilize fewer resources||Utilize more resources|
|Switching does not need interaction with OS||Switching needs interaction with OS|
|Share memory with other threads||Does not share memory with other processes|
|Multiple threads can write, read and can perform many actions with each other.||All processes execute independently to each other.|
Similarities of thread and process:
- Both can share CPU
- Both can create child
- If one block then other can run
Advantages of threads:
- Reduce context switching.
- Increase processing speed.
- Don’t need for inter-process communication.