Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>PHP - Sind file Schreioperationen atomar?

PHP - Sind file Schreioperationen atomar?

seaside28.06.0623:03
Wenn mehrere Instanzen eines PHP Scripts eine Datei im mode 'a' öffnen und in die Datei schreiben, werden alle Schreibzugriffe serialisiert, so dass die 'Zeilenstruktur' der Ausgaben erhalten bleibt?

Oder kann der Output durcheinander geraten, weil während eine Schreiboperation ein Prozesswechsel erfolgt?

Bei einer Produktionsanwendung, die mit 400 parallel arbeitenden Anwendern (alle auf Gong-Schlag angefangen zu klicken) gelaufen ist, wurde jede einzelne Zeile des per fopen() geöffneten Files ordentlich geschrieben. Das System war wirklich heftig unter Last, da die run_queue teilweise >20 war.

Kann jemand erklären, warum es KEINE Probleme mit den Schreiboperationen gab?
0

Kommentare

tomthecat
tomthecat29.06.0610:30
Ich kann mir nur vorstellen, weiss aber nicht genau, dass jeweils die datei vom ersten ankomenden lese/schweibbefehl die Datei als geöffnet markiert ist ordentlich geändert wird und wenn richtig im php-script deklariert wieder geschlossen wird, die später aufrufenden scripts kurz warten müssen bis die datei wieder geschlossen wird und dann erst öffnen.

Das lesen/schreiben dauert ja nur einen Bruchteil, das Abarbeiten des Scripts auch und irgendwo ist ein timeout definiert, wenn in der Zeit die Datei wieder geschlossen ist, wird kein Fehler ausgegeben. Genau zur gleichen Zeit (auf Gongschlag) geht sowieso nicht, es wird immer ein script das erste sein. Die anderen werden warten. Probleme gibt es erst, wenn die Datein nicht richtig geschlossen wird.
0
seaside29.06.0620:53
Ja, dass es keine GLEICHE ZEIT gibt, ist mir auch schon klar. Habe das nur so formuliert, damit nicht gleich wieder jemand schreibt, dass ja auf der Kiste doch nix los war.

Und, ja, vermutlich erhält stets nur ein Prozess Schreibzugriff auf eine Datei
0
MoreliaV
MoreliaV05.07.0613:28
wer schreit da atomar ???????
„95% aller Computerprobleme befinden sich zwischen Stuhl und Tastatur.“
0
jzy
jzy05.07.0615:31
"Atomare" Operation in der Informatik sind Operationen, die "als Ganzes" ausgeführt werden.
Seaside fragte sich, ob die PHP-Schreiboperation tatsächlich atomar ist, weil in einer Situation, in der es bei Nicht-Atomarität Probleme hätte geben müssen, alles glatt lief.
Hat nix mit Kernspaltung zu tun.
0
MoreliaV
MoreliaV05.07.0617:10
ja, ja schon klar, ich fragte ja nur wer atomar S C H R E I T ......:-/
„95% aller Computerprobleme befinden sich zwischen Stuhl und Tastatur.“
0
leBeat
leBeat05.07.0617:17
geil, der threadtitel ist gold wert!!!
0
jzy
jzy05.07.0617:18
Ah, Du spielst auf den Typo an, alles klar...
0
seaside05.07.0620:38
Ja, ich meine wirklich SCHREIoperationen und nicht Schreiboperationen
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.