Newsgroup Archiv - Beiträge
auf www.Bastie.de
GC eines derefenzierten Objekts mit Thread
Frager: Bernd Zeitler vom: Mittwoch, 20. Dezember 2000
Ein Objekt instanziiert einen Thread als Daemon (von einer inneren
Klasse der Objektklasse) und startet diesen. Nun angenommen dieses
Objekt wird komplett derefenziert, was normalerweise den GC veranlasst,
alle von diesem Objekt belegten Ressourcen freizugeben.
Nun die Fragen (für Version 1.2.2 oder 1.3, falls Unterschiede
bestehen!):
Gibt der GC die Ressourcen von diesem Objekt frei (obwohl der Thread
noch läuft)? Läuft der Thread weiterhin?
Bernd
1. Antwort: Markus Riehl vom: Mittwoch, 20. Dezember 2000
Hi Bernd,
das lässt sich schnell selbst testen, aber der Thread wird erst nach seiner
Beendigung entfernt. Wenn der Thread eine Endlosschleife enthält bleibt der
Thread im Speicher. Ich glaube nicht dass es dabei Unterschiede in den einzelnen
Java-Versionen gibt.
Viele Grüße,
Markus
2. Antwort: Thomas Foerster vom: Mittwoch, 20. Dezember 2000
> "Ein Objekt instanziiert einen Thread als Daemon (von einer inneren
Klasse der Objektklasse) und startet diesen. Nun angenommen dieses
Objekt wird komplett derefenziert, was normalerweise den GC veranlasst,"
Dereferenziert? Du meinst alle [für Dich sichtbaren] Referenzen sind
gelöscht.
> "alle von diesem Objekt belegten Ressourcen freizugeben.
Nun die Fragen (für Version 1.2.2 oder 1.3, falls Unterschiede
bestehen!):
Gibt der GC die Ressourcen von diesem Objekt frei (obwohl der Thread
noch läuft)? Läuft der Thread weiterhin?"
Der läuft auch weiterhin. Die VM hebt alle laufenden Threads in
ThreadGroups auf. Erst wenn sie beendet sind, können sie auch
entfernt werden.
Thomas
zur Übersicht
all rights reserved © Bastie - Sebastian Ritter @:
w³: http://www.Bastie.de
Diese Seite ist Bestandteil der
Internetpräsenz unter http://www.Bastie.de
Java
Cobol
Software
Resourcen
Service
Links
Über mich
Zum Gästebuch
Forum