Mutual Exclusion
Resources can only be used by one process at a time.
Hold and Wait
A process is holding a resource and waiting to acquire another resource held by another process.
No Preemption
Processes must complete their task before releasing their resources.
Circular Wait
Set of waiting processes such that Pn-1 is waiting for resource from Pn and Pn is waiting for p0..
These 4 conditions must hold simultaneously for a deadlock to occur:
Mutual Exclusion
Hold and Wait
No Preemption
Circular Wait