Mutual exclusion voorkomen - Door zoveel mogelijk resources deelbaar te maken (bijvoorbeeld met een reading file), in de praktijd veel voorbeelden waarin dit niet mogelijk is.
Hold and wait voorkomen - Bijvoorbeeld door de eis te implementeren: als een process een resource wil locken, mag deze geen andere resources geladen hebben (nadeel: possibility of starvation). Of, alle resources moeten tegelijkertijd gelocked worden (nadeel: low resource utilization).
No preemption voorkomen - Bijvoorbeeld door te implementeren: als een process een gelockte resource wil verkrijgen, moet het process beëindigt worden.
Circular wait voorkomen - Bijvoorbeeld door resources te nummeren, een process kan alleen resources locken, op voorwaarde dat ze een hoger nummer hebben dan hun eigen nummer.