Frage

Bei einem Shutdown-Hook-Methode, ich brauche es eine Nachricht an einen anderen Prozess zu schicken es Shutdown zu sagen hat. Mein aktueller Nachrichtencode Handhabung erfordert, dass die Nachricht in eine Warteschlange geschrieben werden, diese Warteschlange von einem anderen Thread verarbeitet und geschickt auf, wohin er geht. In diesem Fall von einem anderen Thread geschrieben in eine Rohr-Datei werden.

In einem Shutdown-Hook, kann ich garantieren, dass diese Themen noch ausgeführt werden? Ich habe mehrere Shutdown Haken, aber diese sind alle anderen Dinge zu behandeln, die anderen Threads nicht benötigen.

Die Ausführung ist minimal. Es dauert etwa 15 Zeilen Code ausführen + jede wartet erforderlich in die Datei zu schreiben, die auch minimal sein sollten.

War es hilfreich?

Lösung

Von der Javadoc Beschreibung von addShutdownHook :

"Beachten Sie, dass Daemon-Threads während der Abschaltsequenz, , wie nicht-Daemon-Threads ausgeführt wird fortgesetzt, wenn Abschaltung durch Aufrufen der Austritts Verfahren eingeleitet wurde ."

Dies Da ich würde sagen, dass es sicher ist, anzunehmen, dass der Thread noch ausgeführt wird, und dass Sie in der Lage, mit ihm zu kommunizieren. Das Einzige, was ich gegen setzt warnen würde auf Ihrem Abstellzeit Haken läuft in einer deterministischen Reihenfolge.

Andere Tipps

Es klingt wie Sie ein mehrstufiges Shutdown-Prozess benötigen. In einer Multithread-Umgebung, würde ich nicht einfach zählen die Linien der Codes Auswertung Sie, um ausführen müssen Sie Anleitung auf Ihrem Shutdown-Vorgang zu geben ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top