Vereinfachte Request-Bearbeitung mit wait-notify-Technik

Der Einsatz von Multithreading-Programmiertechniken führt zu deutlichen Verbesserungen der Anwendungsperformance und -funktionalität. Java hat zwar die Nutzung von Threads verbessert und vereinfacht, aber trotzdem bleibt für den Entwickler noch einiges zu berücksichtigen.

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:



Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

ZDNet für mobile Geräte
ZDNet-App für Android herunterladen Lesen Sie ZDNet-Artikel in Google Currents ZDNet-App für iOS

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Vereinfachte Request-Bearbeitung mit wait-notify-Technik

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *