Ist es sicher, Stapelüberläufe zu fangen? Kann es Objekte in chaotischen/Zwischenzuständen lassen?
Posted: 19 May 2025, 09:12
Ich habe Wege überprüft, um Threads in Java zu töten, und die überwältigende Schlussfolgerung ist, dass es niemals sicher ist, den Code an willkürlichen Punkten zu stoppen - dies kann Ressourcen in unordentlichen Zwischenzuständen hinterlassen. Aus diesem Grund wurde Thread.Stop () für immer veraltet und schließlich zugunsten der kooperativen Thread -Management entfernt. Wenn Sie eine Stapelüberlaufausnahme aus einem willkürlichen Thread (in meinem Anwendungsfall, halbschwerer Benutzercode) fangen, können Sie diese Laufzeitobjekte in illegalen Zuständen belassen? (Nicht veröffentlichte Schlösser, offene Verbindungen, "Atomic" -Operationen wurden auf halber Strecke gestoppt?)