Bei Study anmelden

Diese Seite ist der öffentliche eMedys-Auftritt. Dein Konto und deine privaten Inhalte laufen auf Study; die Anmeldung öffnet sich dort in einem eigenen Fenster.

Den Geltungsbereich einer Sperre beweisen

Wähle eine Sperre, die wirklich alle Schreiber derselben Ressource erfasst.

Ein Lock schützt nur Teilnehmer, die dieselbe wirksame Sperre benutzen. Zwei Instanzen mit je einem eigenen Thread-Lock können gleichzeitig schreiben. Auch zwei Prozesse oder Rechner teilen einen lokalen Lock nicht automatisch. Zeichne daher den Weg vom Startknopf über Worker zur gemeinsamen Ressource. Für zwei lokale Prozesse braucht das Design eine geprüfte gemeinsame Prozesssperre oder einen atomaren Datenbankanspruch. Halte sie bis zum Ende aller zugehörigen Schreibarbeit. Bei einer verteilten zeitlich begrenzten Sperre müssen Verlängerung, Ablauf und das Abweisen veralteter Besitzer ausdrücklich geregelt werden; das folgt nicht aus dem Wort Lock.

Ein Beispiel

Zwei Tabs starten Worker A und Worker B, beide schreiben den fiktiven Katalog. Ein Attribut busy=False in jedem Worker lässt beide starten. Ein gemeinsamer atomarer Anspruch für catalog-export lässt nur A gewinnen; B erhält busy. Der Mehrprozesstest muss echte konkurrierende Ansprüche erzeugen. Zwei nacheinander aufgerufene Modellfunktionen prüfen nur die Entscheidungslogik.

Mit meinem Konto üben →

Alle Lernwege