In a multi threaded system, if a resource is blocked by one thread but is requested by another thread and vice versa, the system crashes and this causes a deadlock. This is a common and well-known problem in the multiprocessing system, parallel computing and distributed systems. This is one of the most difficult problems of multi threaded systems. Thread synchronization can be the cause of blocking situations.


The following problems may occur due to Thread Synchronization.

  • Deadlock
  • Starvation
  • Priority Inversion
  • Busy Waiting

Let me explain How to avoid it?