| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: suche Mutex (locking) im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Suche eine möglichkeit wie ich mehrere requests synchronisieren kann, damit ich bei gliechzeitigen requests nicht gleichzeitig auf die gleiche ...
![]() |
| | #1 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | Anzeige 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. |
| | |
| | #2 (permalink) |
| Senior Member | ok ich hab ne theorie... wenn du die datein öffnest kannst du doch den timestamp holen wann die datei zuletzt geändert wurden is, diesen vergleichst du jetztt beim rückschreiben mit den aktuellen. wenn sich in der zeit was geändert hat an der datei gibst du eine fehlermeldung aus und fragst den user wie weiter vorgegangen wird ->überschreiben/ranhängen/anzeigen und dann das spiel von vorne? ich hoffe ich hab das problem verstanden
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | funktioniert nicht, wenn z.b. die beiden prozesse (bzw anfragen) wie folgt abgearbeitet werden Code: Proc1 | Proc2 timestamp lesen | | timestamp lesen datei auslesen | daten verarbeiten | timestamp neu auslesen | | datei auslesen | daten verarbeiten | timestamp neu auslesen | daten schreiben daten schreiben | |
| | |
| | #4 (permalink) |
| Registriert seit: 30.03.04 ![]() Likes: 0 | sowas hies früher lock manager, manchmal sogar Transaktionsmanager :-) billigere Lösungen: SQLite. das macht afaik ein ziemlich billiges locking: es kann immer nur einer schreiben. oder Du machst es wie früher bei unix mit lock files: Dein Program schreibt seine process id (die ist bei unix eindeutig und nur einmal vergeben) in eine Datei, zb /tmp/soox.lock, macht seine Arbeit, und löscht die Datei anschließend. Sieht Dein Programm in /tmp/soox.lock eine Nummer, die ungleich der eigenen process id ist, wartet es. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Suche PDA | detrexer | Kaufberatung | 2 | 06.09.07 22:52 |
| Thread und Mutex | Dawen | Code Kitchen | 0 | 09.03.07 16:44 |
| Suche PGP | WerWas | Cryptography & Encryption | 16 | 25.05.05 00:38 |
| Suche tut | KroaX | Windows | 1 | 11.05.04 15:02 |
| Suche Ms Dos | Anonym001 | Off topic-Zone | 21 | 03.12.03 11:28 |