- Verkehrsblockade :Dies tritt auf, wenn mehrere Fahrzeuge an einer Kreuzung stecken bleiben und sich nicht bewegen können, weil sie sich gegenseitig blockieren.
- Deadlock bei der Ressourcenzuweisung :Dies tritt auf, wenn mehrere Prozesse darauf warten, dass einander Ressourcen freigibt, um fortfahren zu können. Beispielsweise können in einem Datenbanksystem zwei Transaktionen jeweils eine Sperre für einen anderen Datensatz halten und beide darauf warten, dass die andere Transaktion ihre Sperre aufhebt, damit sie fortfahren können.
- Philosophenabendessen :Dies ist ein klassisches Gedankenexperiment, das das Konzept des Deadlocks veranschaulicht. An einem runden Tisch sitzen fünf Philosophen, in der Mitte steht eine Schüssel Spaghetti. Jeder Philosoph braucht zwei Stäbchen, um die Spaghetti zu essen, und es sind nur fünf Stäbchen verfügbar. Wenn ein Philosoph ein Stäbchen aufnimmt, kann er das andere Stäbchen nicht aufheben, bis es von einem anderen Philosophen losgelassen wird. Wenn alle fünf Philosophen ein Stäbchen in die Hand nehmen, sind sie alle in einer Sackgasse und können die Spaghetti nicht essen.
- Netzwerk-Deadlock :Dies tritt auf, wenn zwei oder mehr Netzwerkgeräte nicht kommunizieren können, weil sie darauf warten, dass einander Daten sendet. Beispielsweise kann in einem Netzwerk mit zwei Routern jeder Router darauf warten, dass der andere Router ein Datenpaket sendet, bevor er seine eigenen Daten senden kann. Wenn beide Router aufeinander warten, kommt es zu einem Deadlock und es können keine Daten übertragen werden.
- Deadlock in der Softwareentwicklung :Dies tritt auf, wenn mehrere Ausführungsthreads aufeinander warten, um eine Aufgabe abzuschließen, und keiner der Threads Fortschritte machen kann. Dies kann beispielsweise passieren, wenn zwei Threads gleichzeitig versuchen, auf dieselbe Ressource zuzugreifen, und beide darauf warten müssen, dass der andere Thread die Ressource freigibt, bevor sie fortfahren können.