你好 Felix,
gut, dass Du das schreibst! Ich habe da anscheinend wirklich etwas nicht
verstanden. Was empfiehlst Du mir? Muss ich es letzten Endes per flock()
machen, oder weißt Du noch eine Alternative?
Ja, es waere wirklich sinnvoll, das mit flock() zu machen, das schrub ich
ja.
Auf php.net stand in einem User-Kommentar, dass das Anlegen eines
Verzeichnisses mittels mkdir() besser wäre, als mit Dateien
herumzupfuschen. Aber da steig ich dann aus.
Da ist das gleiche Problem mit der race condition. Ich versuchs nochmal zu
erklaeren. Prozess A guckt nach, ob eine Lock-Datei existiert. Sie
existiert nicht, daher geht er in den “kritischen Bereich”. In dem
Augenblick entscheidet der Scheduler, dass er Prozess A schlafen legen
will und Prozess B bearbeitet. Prozess B guckt nach, ob die Lock-Datei
existiert -- nein, sie existiert nicht. Damit ist auch Prozess B im
kritischen Bereich. Und schon hast du ein Problem.
再见,
CK
Es ist uns nicht möglich, in einem Bereich unseres Lebens richtig zu verhalten, wenn wir in allen anderen falsch handeln. Das Leben ist ein unteilbares Ganzes.
http://wwwtech.de/