Take: Dateisperren im Dauereinsatz

Beitrag lesen

Moin,

Im Programm operierst Du nur mit einer Datenstruktur über Deine Klasse/Interface zur Datei/Beliebiger Speicherort.

Exakt das habe ich. Ein Interface Configuration, das praktisch eine key=>value Beziehung macht. Dann gibts die Klasse JsonConfiguration die das mit einem Array umsetzt und dieses in eine Json Datei speichert.

Wenn Du den Prozess atomar haben willst (atomar: Nicht teilbar), setze LOCK_EX im Konstruktor Deiner Klasse und hebe das LOCK_EX im Destruktor wieder auf.

Das tue ich bereits. Meine Frage war, ob das so OK ist. Denn es kann durchaus sein, dass ein Aufruf des Programms die Daten nicht ändert, sondern nur ausliest. Dann bräuchte ich ja nur LOCK_SH.

Anm.: Deine Klasse wird austauschbar. Wenn Du später eine DB zum Speichern persistenter Daten hast, muss Dein Code nicht geändert werden, es wird nur die Klasse/Interface ausgetauscht.

Das war der Gedanke :)

Gruß,
Take