Hallo,
zwei Programme sollen auf ein txt File zugreifen können. Wie kann man das am besten Synchronisieren um Fehler bei gleichzeitigem Zugriff zu verhindern (ich denke mal das könnte sonst zu einem Problem führen). Suche eine Cross-Platform Lösung.
Idee: Ich habe in Erinnerung, dass sowas per Lock-File gehen kann. Die Programme schauen also erst ob eine Lockfile (file.lock) vorhanden ist bevor ein Zugriff auf die eigentliche Datei stattfindet.
Wenn Lockfile nicht vorhanden:
dann wird Lockfile erstellt und auf eigentliche Datei (file.txt) zugegriffen, wenn fertig wird lockfile gelöscht.
Wenn Lockfile vorhanden:
dann warte kurz und versuche erneut.
So ein Konzept wird auch hier vorgeschlagen: https://stackoverflow.com/questions...simultaneous-read-and-write-lock?noredirect=1
Es gibt wohl auch sowas wie boost::interprocess::file_lock aber da würde ich viel lieber einen "Keep it simple" Weg gehen als mit IPC zu spielen...
Spricht etwas gegen das Lock-File Konzept?
Gruß
zwei Programme sollen auf ein txt File zugreifen können. Wie kann man das am besten Synchronisieren um Fehler bei gleichzeitigem Zugriff zu verhindern (ich denke mal das könnte sonst zu einem Problem führen). Suche eine Cross-Platform Lösung.
Idee: Ich habe in Erinnerung, dass sowas per Lock-File gehen kann. Die Programme schauen also erst ob eine Lockfile (file.lock) vorhanden ist bevor ein Zugriff auf die eigentliche Datei stattfindet.
Wenn Lockfile nicht vorhanden:
dann wird Lockfile erstellt und auf eigentliche Datei (file.txt) zugegriffen, wenn fertig wird lockfile gelöscht.
Wenn Lockfile vorhanden:
dann warte kurz und versuche erneut.
So ein Konzept wird auch hier vorgeschlagen: https://stackoverflow.com/questions...simultaneous-read-and-write-lock?noredirect=1
Es gibt wohl auch sowas wie boost::interprocess::file_lock aber da würde ich viel lieber einen "Keep it simple" Weg gehen als mit IPC zu spielen...
Spricht etwas gegen das Lock-File Konzept?
Gruß