Ich wollte nur eine letzte Option hinzufügen, die die meisten Leute und Artikel erwähnen. Wie mR_fr0g bereits erwähnt hat, ist es wichtig, den Unterbrechung richtig zu behandeln, entweder durch:
Oder zusätzlich:
- Benutzerdefinierte Behandlung des Interrupts
Es ist nichts falsch daran, den Interrupt je nach Umständen auf benutzerdefinierte Weise zu behandeln. Da ein Interrupt eine Anforderung zur Beendigung ist, im Gegensatz zu einem Befehl, ist es völlig legitim, zusätzliche Arbeiten durchzuführen, um der Anwendung zu ermöglichen, die Anforderung ordnungsgemäß zu behandeln. Zum Beispiel, wenn ein Thread schläft, auf IO oder eine Hardwareantwort wartet, wenn er den Interrupt empfängt, ist es völlig legitim, alle Verbindungen ordnungsgemäß zu schließen, bevor der Thread beendet wird.
Ich empfehle dringend, das Thema zu verstehen, aber dieser Artikel ist eine gute Informationsquelle: http://www.ibm.com/developerworks/java/library/j-jtp05236/
4 Stimmen
javaspecialists.eu/archiv/Ausgabe056.html