Technologiebeispiel für Garbage Collection

Aktualisiert: November 2007

Mit diesem Beispiel werden Entwickler in die Garbage Collection in .NET Framework eingeführt. Darüber hinaus werden die Entwurfsfeatures der Klassen gezeigt, die in einer Umgebung mit Garbage Collection gut funktionieren. Mit dem Beispiel wird auch verdeutlicht, wie eine Anwendung das Verhalten des Garbage Collectors steuern kann, z. B. durch das Erzwingen von Sammlungsvorgängen, durch das Höherstufen von Objekten und durch das Verwenden schwacher Verweise auf Objekte.

Informationen zur Verwendung der Beispiele finden Sie unter den folgenden Themen:

Download sample

So erstellen Sie das Beispiel mithilfe der Eingabeaufforderung

  1. Öffnen Sie ein Eingabeaufforderungsfenster, und navigieren Sie zu einem der sprachspezifischen Unterverzeichnisse im Verzeichnis GarbageCollection.

  2. Geben Sie je nach verwendeter Programmiersprache msbuild GarbageCollectionCS.sln oder msbuild GarbageCollectionVB.sln in der Befehlszeile ein. Geben Sie z. B. im Verzeichnis C:\Dokumente und Einstellungen\Ihr Benutzername\Eigene Dateien\Beispiele\Technologien\GarbageCollection\VB msbuild GarbageCollectionVB.sln ein, um die Visual Basic-Version zu erstellen.

So erstellen Sie das Beispiel mithilfe von Visual Studio

  1. Öffnen Sie Windows Explorer, und navigieren Sie zu einem der sprachspezifischen Unterverzeichnisse im Verzeichnis GarbageCollection.

  2. Doppelklicken Sie je nach verwendeter Programmiersprache auf das Symbol für GarbageCollectionCS.sln oder GarbageCollectionVB.sln, um die Datei in Visual Studio 2005 zu öffnen.

  3. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

So führen Sie das Beispiel aus

  1. Öffnen Sie ein Eingabeaufforderungsfenster, und navigieren Sie zu dem Verzeichnis, das die neue ausführbare Datei enthält.

  2. Geben Sie GarbageCollection.exe in der Befehlszeile ein.

    Hinweis:

    Das Beispiel ist eine Konsolenanwendung. Sie müssen es von der Eingabeaufforderung aus starten, um die Ausgabe anzuzeigen.

Anforderungen

.NET Framework-Version: 2.0, 1.1, 1.0

Hinweise

In der verwalteten Laufzeitumgebung verwaltet der Heap in der Garbage Collection alle Klassenobjekte. Dieser Heap überwacht die Lebensdauer von Objekten und gibt diese nur dann frei, wenn kein Bereich des Programms auf die Objekte verweist. Damit wird sichergestellt, dass Objekte nie überflüssigerweise Speicherplatz belegen und Verweise auf Objekte immer gültig sind. Um zu veranschaulichen, dass die Finalisierung für einen bestimmten Thread erfolgt, wird im Beispiel die Thread-Klasse bereitgestellt, um den Hashcode der Threads abzurufen. Dabei stellt sich heraus, dass der bei einem normalen Methodenaufruf zurückgegebene Hashcode einen anderen Wert aufweist als derjenige, der bei der Finalisierung zurückgegeben wird.

Das Beispiel verweist im Quellcode auf den System.Threading-Namespace, um die Hashcodewerte für die jeweiligen Threads abzurufen, auf denen die Anwendungsmethoden und die Garbage Collection ausgeführt werden.

Siehe auch

Referenz

Dispose

Finalize

GC

System.Threading

Thread

WeakReference

Weitere Ressourcen

Garbage Collection