Vorsichtige Suspendierung

In der gleichzeitigen Programmierung ist geschützte Suspendierung ein Softwaredesignmuster für Betriebsoperationen, die verlangen, dass sowohl ein Schloss erworben wird als auch eine zufriedene Vorbedingung, bevor die Operation durchgeführt werden kann. Das vorsichtige Suspendierungsmuster wird normalerweise auf die Methode angewandt ruft objektorientierte Programme herbei, und schließt das Verschieben des Methode-Anrufs und des Benennen-Fadens ein, bis die Vorbedingung (als ein Wächter handelnd), zufrieden ist.

Gebrauch

Weil es blockiert, wird das vorsichtige Suspendierungsmuster allgemein nur verwendet, wenn der Entwickler weiß, dass ein Methode-Anruf seit einer begrenzten und angemessenen Zeitspanne aufgehoben wird. Wenn ein Methode-Anruf für den zu langen aufgehoben wird, dann wird sich das gesamte Programm verlangsamen oder anhalten, auf die zufriedene Vorbedingung wartend. Wenn der Entwickler weiß, dass die Methode-Anruf-Suspendierung unbestimmt sein wird oder seit einem unannehmbar langen Zeitraum, dann kann das stockende Muster bevorzugt werden.

Durchführung

In Java stellt die Gegenstand-Klasse und Methoden zur Verfügung, mit der vorsichtigen Suspendierung zu helfen. In der Durchführung unten, ursprünglich gefunden darin, wenn es keine für den Methode-Anruf zufriedene Vorbedingung gibt, erfolgreich zu sein, dann wird die Methode warten, bis es schließlich in einen gültigen Staat eingeht.

öffentliches Klassenbeispiel {\

synchronisierte Leere guardedMethod {\

während (! Vorbedingung ) {\

versuchen Sie {\

//Setzen Sie fort, auf zu warten

warten Sie ;

//…

} Fang (InterruptedException e) {\

//… }\ }\

//Wirkliche Aufgabe-Durchführung

}\

synchronisierte Leere alterObjectStateMethod {\

//Ändern Sie sich der Gegenstand setzen fest

//…..

//Informieren Sie, dass das Warten einfädelt

geben Sie bekannt;

}\}\</Quelle>

Ein Beispiel einer wirklichen Durchführung würde ein Warteschlange-Gegenstand mit einer Methode sein, die einen Wächter hat, um zu entdecken, wenn es keine Sachen in der Warteschlange gibt. Sobald die "gestellte" Methode die anderen Methoden bekannt gibt (zum Beispiel, eine Methode), dann kann die Methode über seinen vorsichtigen Staat herrschen und mit einem Anruf fortfahren. Sobald die Warteschlange dann leer ist, wird die Methode in einen vorsichtigen Staat wieder eingehen.

Siehe auch

  • Lesen Sie Schreibsperre-Muster
  • Das Verhindern des Musters ist ein alternatives Muster, um sich mit einer Vorbedingung zu befassen
  • Vorsichtige Befehle schließen eine ähnliche Sprachkonstruktion ein

Referenzen

.

Das Verhindern des Musters / Planer-Muster
Impressum & Datenschutz