FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Two-Phase-Locking

Two-Phase-Locking 2004-03-23 15:44
FireTiger
Kann mir jemand erklären, wie Two-Phase-Locking Deadlocks verhindert?
Auf den Folien (P3 - Teil3 S.7) steht zwar, dass alle Locks vor Transaktionsbeginn angefordert werden, aber auf Seite 8 steht dann, dass noch solange Sperren angefordert werden können, bis die erste Sperre wieder aufgegeben wurde. Das würde allerdings bedeuten, dass während der Transaktion Sperren angefordert werden können, was wiederum zu Deadlocks führen kann:
Das Beispiel auf Seite 7 oben könnte genausogut auch mit TPL nach den Beschreibungen auf Seite 8 sein, inkl. Deadlock.

Re: Two-Phase-Locking 2004-03-23 15:48
UncleOwen
Kann mir jemand erklären, wie Two-Phase-Locking Deadlocks verhindert?
Gar nicht. 2PL verhindert nur, dass ein Deadlock entsteht, nachdem die letzte Sperre aufgebaut wurde. Vorher sind Deadlocks durchaus moeglich, aber da man dann ja noch am Anfang der Transaktion steht ist das Zurueckrollen nicht so teuer.

Re: Two-Phase-Locking 2004-03-23 15:57
FireTiger
Also bedeutet die Überschrift "Vermeiden von Deadlocks" auf Seite 7 nicht, "Unmöglichmachen von Deadlocks" sondern "Deadlocks weniger schlimm machen"?

Re: Two-Phase-Locking 2004-03-23 16:04
Cyrax
Naja. Stell dir die Frage ob Deadlocks erwünscht sind oder nicht [img]http://www.fb18.de/gfx/22.gif[/img]

Re: Two-Phase-Locking 2004-03-23 17:42
UncleOwen
Also bedeutet die Überschrift "Vermeiden von Deadlocks" auf Seite 7 nicht, "Unmöglichmachen von Deadlocks" sondern "Deadlocks weniger schlimm machen"?
Jein. Die Algorithmen unter 1b machen Deadlocks wirklich unmoeglich.