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.

Wer teilt welchen Zustand?

Prozesse, Threads und einzelne Budgetinstanzen auseinanderhalten.

Ein Prozess ist eine laufende Programminstanz mit eigenem Speicher. Threads sind Arbeitsabläufe innerhalb eines Prozesses und können dasselbe Objekt verwenden. Deshalb beginnt eine Nebenläufigkeitsanalyse mit einer Zustandszeichnung: Welche Arbeiter sehen dieselbe Instanz, und welche besitzen getrennte Kopien? Eine threading.Lock schützt den vereinbarten Abschnitt der Threads, die tatsächlich dieselbe Sperre benutzen. Sie erzeugt keinen gemeinsamen Zähler in einem anderen Prozess. Auch die bloße Eltern-Kind-Beziehung zweier Arbeiter teilt kein Budget. Beschrifte jede Grenze mit ihrem Besitzer, bevor du aus einem Zahlenwert eine Gesamtgarantie ableitest.

Ein Beispiel

Ein Werkstattplaner besitzt ein Elternbudget von 3 und zwei eigenständige Helferbudgets von jeweils 2. Ohne Rückgaben können zusammen 7 Verbräuche gelingen. Sollen alle drei Arbeiter gemeinsam höchstens 3 verwenden, brauchen sie einen gemeinsam durchgesetzten Zähler. Drei getrennte Objekte mit jeweils 3 würden bis zu 9 erlauben. Python 3.11 · Lehrbeispiel limits = [3, 2, 2] print(sum(limits)) # drei getrennte Instanzen, keine Rückgaben Erwartete Ausgabe 7

Mit meinem Konto üben →

Alle Lernwege