Deadlock involving only one single-threaded process?

A deadlock situation can only arise if the following four conditions hold simultaneously in a system:

  • Mutual Exclusion
  • Hold and Wait
  • No Preemption
  • Circular-wait

It is impossible to have circular-wait when there is only one single-threaded process. There is no second process to form a circle with the first one. One process cannot hold a resource, yet be waiting for another resource that it is holding.

So it is not possible to have a deadlock involving only one process.

Where I first heard of the question: http://www.careerride.com/Operating-System-Interview-Questions.aspx

Comments (10)