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
Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.
Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…
Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…
Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.
In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…
Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.