Ich habe einen Artikel dazu auf IBM developerWorks gefunden. Wenn das Betriebssystem ein Signal an die JVM sendet, übergibt der Signal-Dispatcher-Thread das Signal an den entsprechenden Handler
Revelations on Java signal handling und termination von Chris White, Software Engineer, IBM
OS-Signale sind von Natur aus single-threaded, daher ist es wichtig, dass sie alle im selben Thread behandelt werden. Ein Dispatcher ist also ein natürlicher Weg, dies zu erreichen. Stellen Sie sich das wie den einzelnen GUI-Ereignis-Thread für AWT vor.
Wenn Sie Linux verwenden und Ihre JVM eine native Bibliothek lädt, die eigene Signalhandler einfügt, müssen Sie libjsig.so . Ich habe es auf die harte Tour herausgefunden, als eine Netzwerkbibliothek eines Fremdanbieters meine Verbindungen mit fehlgeleiteten Sigpipes unterbrochen hat.
Tags und Links java multithreading