Hi,
kann man irgendwelche Aussagen treffen wie lange es dauert bis ein Thread sich nach einem interrupt() beendet? Oder ist das wieder so eine Sache von die Java-Spezifikation macht keine Aussagen darueber?
Weiss jemand was genau passiert bei einem Interrupt? Wird der Thread schlafen gelegt und irgendwann einfach finalized und von Garbage Collector entsorgt? Ich habe finalize ueberschrieben und eine Debug-Message hinzugefuegt die jedoch glaube ich nie ausgegeben wird.
Alles was ich machen will ist ein Thread einfach stoppen und dem GC uebergeben weil eine gewisse Rechnung sinnlos geworden ist und somit die CPU-Zeit besser fuer die vielen anderen laufenden Threads verwendet wird. Nach einem interrupt() bekomme ich von isAlive aber immer noch true zurueck. Was heisst das? Wie kann ich sicherstellen das ein Thread nicht weiterlaeuft und relativ schnell dem GC uebergeben wird?
Danke,
sb
P.S.: ist es eigentlich eine starke Belastung fuer das System oder bad practise wenn ich recht oft einen Thread erstelle, bzw. laufende Threads interrupte?
kann man irgendwelche Aussagen treffen wie lange es dauert bis ein Thread sich nach einem interrupt() beendet? Oder ist das wieder so eine Sache von die Java-Spezifikation macht keine Aussagen darueber?
Weiss jemand was genau passiert bei einem Interrupt? Wird der Thread schlafen gelegt und irgendwann einfach finalized und von Garbage Collector entsorgt? Ich habe finalize ueberschrieben und eine Debug-Message hinzugefuegt die jedoch glaube ich nie ausgegeben wird.
Alles was ich machen will ist ein Thread einfach stoppen und dem GC uebergeben weil eine gewisse Rechnung sinnlos geworden ist und somit die CPU-Zeit besser fuer die vielen anderen laufenden Threads verwendet wird. Nach einem interrupt() bekomme ich von isAlive aber immer noch true zurueck. Was heisst das? Wie kann ich sicherstellen das ein Thread nicht weiterlaeuft und relativ schnell dem GC uebergeben wird?
Danke,
sb
P.S.: ist es eigentlich eine starke Belastung fuer das System oder bad practise wenn ich recht oft einen Thread erstelle, bzw. laufende Threads interrupte?
Zuletzt bearbeitet: