In einem Multi-User-Shared-System können mehrere Benutzer mit denselben Daten zu Dateninkonsistenz führen, weshalb bei gleichzeitigen Operationen Sperroperationen erforderlich sind, um die gleichzeitige Ausführung von Transaktionen zu steuern.
Gemeinsames Schloss:Wie aus dem Namen ersichtlich ist, kann das Schloss geteilt werden, die Schreiboperation darf nicht geteilt werden; sobald die geteilten Daten zufällig geschrieben werden, gibt es keine "Sperre", sodass die geteilte Sperre die Leseoperation "Teilen" ist, das heißt, die Sperre kann nach der Hinzufügung dieses Schlosses nicht mehr geschrieben werden, aber sie kann gelesen werden und auch als Schreibschutz-Sperre bezeichnet werden.
Exklusive Schlösser:Das exklusive Schloss ist dominierender, solange ich dieses Schloss hinzufüge, können keine anderen Operationen durchgeführt werden, warum? Weil ich die Daten ändern möchte, da ich sie ändern möchte, darf ich nicht zulassen, dass andere sie erneut ändern, und ich darf kein Schreibschutz-Schloss hinzufügen, denn mit einem Schreib-nur-Lock kann ich keine Schreiboperationen ausführen.
Wenn beispielsweise Transaktion T1 eine gemeinsame Sperre zu Daten D1 hinzufügt und Transaktionen T2 und T3 exklusive Sperren zu Daten D2 bzw. D3 hinzufügen, dann fügt Transaktion T1 eine gemeinsame Sperre zu Daten (51) hinzu. Transaktion T2-Paare Daten (52).
(51) Antwort: D
A. D2 und D3 sowie das Schloss sind erfolgreich B. D2, D3 plus Shared Lock sind erfolgreich C. D2 plus die geteilte Sperre gelingt, D3 fügt ihr Schloss fehl D. D2, D3 plus exklusive und geteilte Schlösser fallen alle fehl
(52) Antwort: C
A. D1, D3 plus das gemeinsame Schloss sind alle ausgefallen B. D1, D3 plus Shared Lock sind erfolgreich C. D1 plus geteilte Sperre funktionierte, D3 fügte eine weitere Sperre hinzu und versagte D. D1 plus die Sperre war erfolgreich, und D3 konnte die gemeinsame Sperre nicht hinzufügen
Wenn es ein gemeinsames Schloss gibt, kann man ein gemeinsames Schloss hinzufügen, aber ein exklusives Schloss kann man nicht hinzufügen. Gibt es ein exklusives Schloss, können weder das geteilte noch das exklusive Schloss hinzugefügt werden.
|