opi: Paralleler Schreibzugriff auf eine Datei ohne flock

Beitrag lesen

Hallo Christoph,

Hiermit erhoest Du die Chancen auf einen "Doppelfehler" wieder leicht.
Ich hoere schon das Raunen:"Hae?",

da hast du allerdings recht! :-)

also kurz erklaert:
Das Design des Alias ist gut, damit lassen sich bis zur Datumsumstellung 2038[1] sicher einzigartige Namen schaffen. Die Wahrscheinlichkeit zwei gleiche Namen zu erhalten ist also Null bei idealen Voraussetzungen (Das OS geht nach Vorschrift bei der Verteilung der PIDs).

und selbst wenn nicht ganz... ich glaube nicht, dass sich die
PIDs innerhalb einer Sekunde überrunden. Ausserdem sind wir auf
dem Weg zu 64bit Systemen. Bis 2038 vielleicht noch mehr... oder?

Was ich natürlich auch machen könnte - als DBA hätte ich da eher
drauf kommen können - kann ich mir doch eine Datei in Form einer
Sequence erstellen. Jeder Prozess lockt kurzfristig und bedient sich
der Zahl+1 und legt diese auch dort ab. Wenn es dann irgendwann Mal
soweit ist und ich bei dem Ende eines Doublewertes angekommen bin,
dann kann ich auch wieder bei 1 anfangen :-)

Aber die Praktikabilitaet eine Hashes laesst das verschmerzen glaube ich ;-)

Der Hash wird nicht von den Prozessen genutzt, sonder von einem
anderen Prozess, der diese Datei ausliest.

Ein ordentlicher Programmierer prueft aber trotzdem nach dem Erzeugen und vor der ersten Nutzung, ob der Schluessel evt schon vorhanden ist.

Ja das prüfe ich. Mein Algorythmus war, solange den Key neu zu
erzeugen bis er einzigartig ist.

Ne Du, umarmen is' nich', hau bloss ab! ;-)

Bin schon wech... nice Weekend! :-)

Greez,
opi

--
Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|