Question: what are the necessary conditions for deadlock?
Answer: mutual exclusion. The resources involved must be unshareable; otherwise, the processes would not be prevented from using the resource when necessary.
hold and wait or partial allocation. ... 
no pre-emption. ... 
resource waiting or circular wait.