Moin!
Nun möchte ich natürlich die Datei in der Zeit, in der das Objekt darauf zugreift, für Schreib-Zugriffe sperren. Wenn ich dies jedoch über FLOCK realisiere, wird der Schreibschutz wieder deaktivert, sobald die Konstruktor-Funktion ausgeführt wurde (selbst wenn ich die Datei nicht explizit wieder schließe).
Gibt es andere/bessere Möglichkeiten außer FLOCK, um eine Datei temporär zu sperren?
Du kannst innerhalb deiner Applikation natürlich jeden anderen Mechanismus, der zum gleichen Resultat kommt, implementieren. Entweder führst du eine zentrale Liste der gesperrten Dateien, oder arbeitest je Datei mit Semaphoren, oder oder oder...
Deine Vorgehensweise ist allerdings bedenklich. Während der gesamten Zeit, in der dein Objekt die Datei geöffnet hält (egal ob am Ende geschrieben wird oder nicht) darf kein anderer Prozess auf die Datei zugreifen, nicht einmal lesend. Das wird die erreichbare Performance ganz erheblich behindern, weil du dir einen künstlichen Flaschenhals baust.
Vielleicht solltest du lieber darlegen, was du da genau bauen willst - die Forumsteilnehmer sind kreativ, was das Erstellen von alternativen Lösungen angeht, solange die Möglichkeiten bekannt sind.
- Sven Rautenberg
My sssignature, my preciousssss!