Thread flock funktioniert nicht (64 answers)
Opened by x-man at 2006-04-17 19:11

master
 2006-04-18 17:27
#7367 #7367
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@pq
das problem ist, das ">" oder "<" ne datei anlegt, falls sie nicht exisitert. +< macht das ja nicht, Dort passiert nix, wenn die datei nicht exisitert.

Zudem kann eine race condition trotzdem auftreten....
schau dir den Artikel an..

Prozess 1 öffnet, Zähler =0
Prozess 2 öffnet, Zähler = 0

Prozess 1 schreibt, flockt, addet und schreibt, Zähler =1
Prozess 2 schreibt, flockt, addet und schreibt, Zähler = 1

obwohl eigentlich der zähler bei Prozess 2 auf 2 sein sollte..
Das problem ist simpel. man müsste eben die datei gleichzeitig öffnen + flocken

Zudem darf prozess 2 dann nur schreiben, wenn nicht geflockt.
(sollte eh so sein)

open(was aich immer, wie auch immer "< > +<" )
und erst dann ein flock = gefahr der racecondition

klar ist +< sicherer als <, aber eben, fehler können trotzdem auftreten. z.b. das der counter nicht zählt...
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;

View full thread flock funktioniert nicht