개체 에이징 과 생 성 Object aging and generations 
 가비지 수집 허용 안 함 Disallowing garbage collection 
 수집 중 에 관리 코드 에서 개체 에 대 한 하나 이상 의 참조 를 찾 으면 가비지 수집 기 는 개체 를 해제 됩니다 . During a collection , the garbage collector will not free an object if it finds one or more references to the object in managed code . 그러나 가비지 수집 기 비 관리 코드 에서 개체 에 대 한 참조 를 인식 하 지 못하 고 이렇게 에서 명시 적 으로 금지 하 지 않 는 한 관리 되 지 않 는 코드 에서 단독 으로 사용 되 지 않 는 개체 를 해제 할 수 있 습니다 . However , the garbage collector does not recognize references to an object from unmanaged code , and might free objects that are being used exclusively in unmanaged code unless explicitly prevented from doing so . KeepAlive 메 서 드 는 가비지 수집 기 가 비 관리 코드 에서 아직 사용 중 인 개체 를 수집 할 수 없 도록 하 는 메커니즘 을 제공 합니다 . The KeepAlive method provides a mechanism that prevents the garbage collector from collecting objects that are still in use in unmanaged code . 
 개체 종료 및 삭제 패턴 에 대 한 자세 한 내용 은 관리 되 지 않 는 리소스 정리 를 참조 하 세요 . For more information on object finalization and the dispose pattern , see Cleaning Up Unmanaged Resources . 
 공용 언어 런타임 의 가비지 수집 기 는 세대 를 사용 하 여 개체 에이징 을 지원 합니다 . The garbage collector in the common language runtime supports object aging using generations . 생 성 은 메모리 에서 개체 의 상대 적 기간 의 측정 단위 입니다 . A generation is a unit of measure of the relative age of objects in memory . 개체 의 보존 기간 을 세대 번호 는 개체 가 속한 생 성 을 나타냅니다 . The generation number , or age , of an object indicates the generation to which an object belongs . 만든 개체 자세 한 최근 에 최신 세대 의 일부인 하 며 애플리케이션 수명 동안 의 앞부분 에서 만든 개체 주기 보다 더 낮 은 세대 번호 입니다 . Objects created more recently are part of newer generations , and have lower generation numbers than objects created earlier in the application life cycle . 최신 세대 의 개체 는 세대 0 에 . Objects in the most recent generation are in generation 0 . 이 구현 의 가비지 수집 기 는 세 가지 개체 세대 가 , 0 , 1 및 2 세대 를 지원 합니다 . This implementation of the garbage collector supports three generations of objects , generations 0 , 1 , and 2 . MaxGeneration 속성 의 값 을 검색 하 여 시스템 에서 지원 되 는 최대 세대 번호 를 확인 할 수 있 습니다 . You can retrieve the value of the MaxGeneration property to determine the maximum generation number supported by the system . 
 개체 에이징 가비지 수집 기 가 모든 세대 를 평가 하 는 것 이 아니 라 세대 의 특정 집합 에서 가비지 수집 의 대상 애플리케이션 을 있 습니다 . Object aging allows applications to target garbage collection at a specific set of generations rather than requiring the garbage collector to evaluate all generations . generation 매개 변수 를 포함 하 는 Collect 메 서드 의 오버 로드 를 사용 하 여 가비지 수집 에 가장 오래 된 세대 를 지정 할 수 있 습니다 . Overloads of the Collect method that include a generation parameter allow you to specify the oldest generation to be garbage collected . 
 . NET Framework 4 . 6 . NET Framework 4 . 6 부터 가비지 수집 기 는 가비지 수집 이 응용 프로그램 의 성능 에 부정 적 인 영향 을 줄 수 있 는 중요 한 경로 를 실행 하 는 동안 사용 할 수 있 는 비 GC 지역 대기 시간 모드 를 지원 합니다 . Starting with the . NET Framework 4 . 6 . NET Framework 4 . 6 , the garbage collector supports a no GC region latency mode that can be used during the execution of critical paths in which garbage collection can adversely affect an app ' s performance . 비 GC 지역 대기 시간 모드 는 가비지 수집 기 에서 문제 없이 함께 할당 될 수 있 는 메모리 양 을 지정 해야 합니다 . The no GC region latency mode requires that you specify an amount of memory that can be allocated without interference from the garbage collector . 런타임 에서 해당 메모리 에 할당 하 는 경우 중요 경로 에서 코드 가 실행 되 는 동안 런타임 가비지 수집 을 수행 하 지 됩니다 . If the runtime can allocate that memory , the runtime will not perform a garbage collection while code in the critical path is executing . 
 TryStartNoGCRegion 오버 로드 중 하나 를 호출 하 여 no GC 영역 의 중요 한 경로 시작 을 정의 합니다 . You define the beginning of the critical path of the no GC region by calling one of the overloads of the TryStartNoGCRegion . EndNoGCRegion 메 서 드 를 호출 하 여 중요 한 경로 의 끝 을 지정 합니다 . You specify the end of its critical path by calling the EndNoGCRegion method . 
 TryStartNoGCRegion 메 서 드 에 대 한 호출 을 중첩 할 수 없 으며 , 런타임 이 현재 GC 지역 대기 시간 모드 에 있 지 않 은 경우 에 만 EndNoGCRegion 메 서 드 를 호출 해야 합니다 . You cannot nest calls to the TryStartNoGCRegion method , and you should only call the EndNoGCRegion method if the runtime is currently in no GC region latency mode . 즉 , 첫 번 째 메 서드 호출 후 에 는 TryStartNoGCRegion 를 여러 번 호출 하 면 안 되 며 , 후속 호출 은 성공 하 지 않 습니다 . TryStartNoGCRegion 에 대 한 첫 번 째 호출 로 인해 성공 하 는 것 으로 EndNoGCRegion 호출 을 수행 하 지 않 아야 합니다 . In other words , you should not call TryStartNoGCRegion multiple times ( after the first method call , subsequent calls will not succeed ) , and you should not expect calls to EndNoGCRegion to succeed just because the first call to TryStartNoGCRegion succeeded .