Threads and process, advantages and disadvantages in Operating systems

What are Threads?

One big process consists of one or multiple small threads. Threads are managed and scheduled separately by the scheduler. 

thread vs process

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 threadsDoes 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.