Distributed lock manager: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: authors 1-1. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by BrownHairedGirl | Linked from User:BrownHairedGirl/Articles_with_semi-bare_links | #UCB_webform_linked 644/2815
Citation bot (talk | contribs)
Add: publisher. | Use this bot. Report bugs. | Suggested by Jay8g | Linked from User:Jay8g/sandbox | #UCB_webform_linked 26/200
Line 64:
== Deadlock detection ==
 
When one or more processes have obtained locks on resources, it is possible to produce a situation where each is preventing another from obtaining a lock, and none of them can proceed. This is known as a [[deadlock]] ([[E. W. Dijkstra]] originally called it a [[deadly embrace]]).<ref>{{cite book|page=105|url=https://books.google.com/books?id=E6wOK8OYBG4C&pg=PA105|title=Ada: Concurrent Programming|isbn=9780929306087|last1=Gehani|first1=Narain|year=1991| publisher=Silicon Press }}</ref>
 
A simple example is when Process 1 has obtained an exclusive lock on Resource A, and Process 2 has obtained an exclusive lock on Resource B. If Process 1 then tries to lock Resource B, it will have to wait for Process 2 to release it. But if Process 2 then tries to lock Resource A, both processes will wait forever for each other.