Die Methoden, die Sie erwähnt haben, sind veraltet, weil sie einmal das System in den instabilen Zustand bringen konnten: es ist genau wie der Kill-Prozess. Die Verwendung dieser Methoden gibt dem Thread keine Chance, ordnungsgemäß zu beenden.
Die Schlussfolgerung ist, dass jeder Thread, den Sie implementieren, seinen eigenen Mechanismus für einen eleganten Ausgang haben sollte. Normalerweise tun Sie Folgendes. Erstellen Sie boolean
Flag 10 das ist false
standardmäßig.
while (!exit) {
// do the job
}
Add-Methode exit()
, die diesen Flag auf true
drehen, so dass, wenn das Verfahren von außerhalb des Thread, verläßt die while
Schleife bei der nächsten Iteration genannt wird: Der run()
Methode Thread soll Schleife wie implementieren.Sie sollten darauf achten, Ressourcen beim Beenden zu schließen.
Natürlich kann man den Mechanismus verbessern, indem
Sie stoppen einen Thread nicht, lassen Sie einfach die 'run'-Methode ihre Ausführung beenden. –
Können Sie Ihren Anwendungsfall näher erläutern, warum Sie einen Thread stoppen möchten? – Vikdor
Der Vollständigkeit halber ist die andere Möglichkeit, den gesamten Prozess zu beenden - das wird funktionieren. –