Share via


Garbage Collection 기술 샘플

업데이트: 2007년 11월

이 샘플에서는 개발자에게 .NET Framework의 가비지 수집 기능을 소개하고, 가비지 수집 환경에서 잘 동작하는 클래스의 디자인 기능을 보여 줍니다. 또한 응용 프로그램에서 강제 수집, 개체 승격 및 개체에 대한 약한 참조 사용 등 가비지 수집기의 일부 동작을 제어할 수 있는 방법도 보여 줍니다.

샘플 사용에 대한 자세한 내용은 다음 항목을 참조하십시오.

Download sample

명령 프롬프트를 사용하여 샘플을 빌드하려면

  1. 명령 프롬프트 창을 열고 GarbageCollection 디렉터리 아래의 언어별 하위 디렉터리 중 하나로 이동합니다.

  2. 선택한 프로그래밍 언어에 따라 명령줄에서 msbuild GarbageCollectionCS.sln 또는 msbuild GarbageCollectionVB.sln을 입력합니다. 예를 들어, C:\Documents and Setttings\Your User Name\My Documents\Samples\Technologies\GarbageCollection\VB 디렉터리에서 msbuild GarbageCollectionVB.sln을 입력하여 Visual Basic 버전을 빌드합니다.

Visual Studio를 사용하여 샘플을 빌드하려면

  1. Windows 탐색기를 열고 GarbageCollection 디렉터리 아래의 언어별 하위 디렉터리 중 하나로 이동합니다.

  2. 선택한 프로그래밍 언어에 따라 GarbageCollectionCS.sln 또는 GarbageCollectionVB.sln 아이콘을 두 번 클릭하여 Visual Studio 2005에서 해당 파일을 엽니다.

  3. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

이 샘플을 실행하려면

  1. 명령 프롬프트 창을 열고 새 실행 파일이 들어 있는 디렉터리로 이동합니다.

  2. 명령줄에서 GarbageCollection.exe를 입력합니다.

    참고:

    샘플은 콘솔 응용 프로그램입니다. 출력을 보려면 명령줄에서 시작해야 합니다.

요구 사항

.NET Framework 버전: 2.0, 1.1, 1.0

설명

관리되는 런타임 환경에서는 가비지 수집 힙이 모든 클래스 개체를 관리합니다. 이 힙에서는 개체의 수명을 모니터링하고 프로그램에서 더 이상 개체를 참조하지 않을 때 개체를 해제합니다. 따라서 개체로 인한 메모리 누수가 발생하지 않으며 개체에 대한 참조는 항상 올바른 참조입니다. 샘플에서는 특수 스레드에서 종료가 발생하는 것을 보여 주기 위해 Thread 클래스를 사용하여 스레드의 해시 코드를 검색합니다. 일반 메서드 호출에서 반환되는 해시 코드 값이 종료 중 반환되는 해시 코드 값과 다르다는 것을 알 수 있습니다.

소스 코드 내에서 샘플은 System.Threading 네임스페이스를 참조하여 응용 프로그램 메서드와 가비지 수집이 실행되는 각 스레드의 해시 코드 값을 검색합니다.

참고 항목

참조

Dispose

Finalize

GC

System.Threading

Thread

WeakReference

기타 리소스

가비지 수집