Was ist die bestmögliche Art der Prozessbeendigung
- Wenn Sie Single-Threading verwenden, verwenden Sie einfach
exit()
, da Ihr Code nicht multi-threaded ist. - Stellen Sie andernfalls sicher, dass alle bis auf einen Thread vor dem letzten Thread beendet wurden, und rufen Sie dann sicher
exit()
auf wegen 1. oben.
Angesichts der Tatsache, dass Strom-/Hardwareausfälle jederzeit auftreten können, der imposs.. extremen Schwierigkeit, Threads mit Benutzercode zuverlässig zu beenden und der chaotischen Natur der Verwendung von Speicherpools usw. in vielen nicht trivialen Multithread-Apps, ist es besser zu entwerfen Apps und Systeme, die temporäre Dateien usw. beim Start bereinigen können, anstatt zu versuchen, das Herunterfahren im Mikromanagement zu verwalten.
„Säubern Sie alle Ressourcen, die Sie zuweisen, bevor Sie gehen“ klingt wie ein guter Ratschlag in einem Klassenzimmer oder einer Vorlesung, wird aber schnell zu einer ganzen Kette von Albatrossen um Ihren Hals, wenn Sie mit einem Dutzend Threads, Warteschlangen und Pools in einem sich ständig ändernden dynamischen System konfrontiert werden.
Wenn Sie unter einem nicht trivialen Betriebssystem arbeiten, lassen Sie es nach Möglichkeit seine Arbeit erledigen und für Sie aufräumen. Es ist viel besser darin, als Ihr Benutzercode es jemals sein wird.