Vereinfachte Request-Bearbeitung mit wait-notify-Technik

Die wait-notify-Prozedur eines Objekts ist für Anwendungen, die auf das Eintreten bestimmter Bedingungen warten müssen wichtig. Hier eine Möglichkeit, wie man die wait-notify-Routine vereinfachen kann, um sie bei der Request-Bearbeitung für Multithread-Anwendungen zu verwenden.

Erweitern der Warte-Routine

Im Zusammenhang mit Multithreading sollte man die Object.wait(timeout)-Methode zur Durchführung des wait-notify verwenden. Leider liefert diese Methode keine Informationen darüber, ob der Monitor eines Objekts von einem anderen Thread benachrichtigt wurde oder es ein Time-out gab. In einigen Fällen ist dies nicht besonders wichtig, in anderen aber schon. Beispielsweise muss man vielleicht eine Anweisung ausführen, die unbegrenzte Zeit dauern kann, und will seine Anwendung vor dem Blockieren bewahren. Eine Lösung besteht darin, eine zeitaufwendige Anweisung in einem separaten Thread auszuführen zu lassen und zu warten, bis diese abgeschlossen ist oder wegen Zeitüberschreitung abgebrochen wird (Time-out). Ganz allgemein gesagt sollte man seine Anwendung mit einigen Warte- und Benachrichtigungs-Funktionen ausstatten, damit sie wartet, bis ein bestimmter Zustand erreicht ist, oder eine Timeout-Exception auslöst wird, wenn eine vorgegebene Zeitspanne überschritten ist. Eine naheliegende Implementierung sieht so aus:

Da man einen solchen Programmcode an vielen Stellen benötigt, bietet es sich an, dieses Codestück zur Wiederverwendung in einer separaten Klasse zu verpacken: TimedWait (Listing A).

Die abstrakte Klasse in Listing A wartet auf das Eintreten eines Ereignisses oder auf das Verstreichen einer bestimmten Zeitspanne. So kann man das vorige Beispiel durch die folgende Zeile ersetzen:

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Neue Backdoor: Bedrohung durch Malvertising-Kampagne mit MadMxShell

Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.

3 Stunden ago

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

21 Stunden ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

22 Stunden ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

1 Tag ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

1 Tag ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

1 Tag ago