Thread flock funktioniert nicht
(64 answers)
Opened by x-man at 2006-04-17 19:11
@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;
|