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

CopyRhadamantys greift weltweit Unternehmen an

Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.

2 Tagen ago

Facebook Marketplace: EU verhängt Geldbuße von fast 800 Millionen Euro gegen Meta

Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…

3 Tagen ago

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

3 Tagen ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

4 Tagen ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

4 Tagen ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

4 Tagen ago