Suche eine möglichkeit wie ich mehrere requests synchronisieren kann, damit ich bei gliechzeitigen requests nicht gleichzeitig auf die gleiche recource zugreife.
das einzige was ich gefunden habe ist: http://ch2.php.net/manual/de/ref.sem.php
wenn möglich möchte ich was, was immer verfügbar ist und nicht nur, wenn man das mit einkompiliert bzw das modul lädt.
mein konkretes problem:
ich habe daten die ich irgendwie abspeichern muss (keine db zur verfügung). diese daten werden von zeit zu zeit verändert und somit neu geschrieben. dabei wird so vorgegangen:
1) daten einlesen
2) vom user gewünschte änderungen ausführen
3) bei den daten den entsprechenden status ändern (aufgrund der aktion)
4) daten zurückschreiben
das problem entsteht beim zurückschreiben, wenn mehrere prozesse "gleichzeitig" die daten einlesen. jeder request hat nur seine sicht der änderungen und trägt nur diese ein. ohne locking würden die anderen parallelen änderungen verloren gehen.
wohin/wie die daten gespeichert werden, ist mir eigentlich egal. jedoch habe ich wie oben bereits gesagt keine db zur verfügung.
hoffe ich habe mich verständlich ausgedrückt.
das einzige was ich gefunden habe ist: http://ch2.php.net/manual/de/ref.sem.php
wenn möglich möchte ich was, was immer verfügbar ist und nicht nur, wenn man das mit einkompiliert bzw das modul lädt.
mein konkretes problem:
ich habe daten die ich irgendwie abspeichern muss (keine db zur verfügung). diese daten werden von zeit zu zeit verändert und somit neu geschrieben. dabei wird so vorgegangen:
1) daten einlesen
2) vom user gewünschte änderungen ausführen
3) bei den daten den entsprechenden status ändern (aufgrund der aktion)
4) daten zurückschreiben
das problem entsteht beim zurückschreiben, wenn mehrere prozesse "gleichzeitig" die daten einlesen. jeder request hat nur seine sicht der änderungen und trägt nur diese ein. ohne locking würden die anderen parallelen änderungen verloren gehen.
wohin/wie die daten gespeichert werden, ist mir eigentlich egal. jedoch habe ich wie oben bereits gesagt keine db zur verfügung.
hoffe ich habe mich verständlich ausgedrückt.