Sven Rautenberg: Neuer Artikel: Sperren von Dateien

Beitrag lesen

sven hat vermutlich noch nicht so ganz durchdacht, dass ausnahmslos ALLE Arten von Speicherung in Multitasking-Umgebungen Locking erfordern. Sowohl in Dateien, wie dargestellt, aber genauso auch in Datenbanken - und sogar direkt im RAM. Immer muß irgendeine Instanz dafür sorgen, dass die Speicherzellen, die gleich für die Aufnahme neuer Informationen vorgesehen sind, vor jeglichem Zugriff von parallel ablaufenden Prozessen geschützt sind.

Bei manchen Speicherarten, wie z.B. Dateien, muß sich der Programmierer darum selbst kümmern. Bei anderen, wie z.B. Datenbanken, kümmert sich die Datenbank darum. Aber das grundlegende Problem bleibt: Wenn irgendwo von einem Prozess aus etwas geschrieben wird, wird dafür eine exklusive Sperre benötigt, die verhindert, dass zur gleichen Zeit dieser Bereich von irgendeinem anderen Prozess gelesen werden kann.

Insofern ist es schon wichtig, dass man sich über das Locking seine Gedanken macht - denn es wird insbesondere dann zum Problem, wenn Schreiben und Lesen intensiv gemischt vorkommen. Egal ob Datei oder Datenbank. Selbst im RAM kann das noch unperformant langsam werden, wenngleich man dort immerhin etliche Zehnerpotenzen schnelleren Zugriff hat, als auf Festplatte.