반응형
가비지 컬렉션을 강제로 실행시켜 객체를 메모리에서 바로 해제하고 싶을때
다음과 같은 클래스의 함수들을 호출하게 된다.
System.GC.Collect();
System.GC.WaitForPendingFinalizers(); // 가비지 컬렉션이 객체를 해제할때까기 대기 상태유지
가비지 컬렉션이 일어난다는건 객체가 해제된다는 말인데
객체가 해제 될때 소멸자를 호출하게 된다.
제대로 실행이 되는지 알아보기 위해서 이 소멸자에 어떤문자열을 콘솔에 뿌리는
코드를 작성해본다.
public class SourceFile{
~SourceFile(){
Console.WriteLint("Destructor end")
}
}
SourceFile file = new SourceFile();
file = null;
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
====== print =======
Destructor end
반응형
'기타 언어 > C# & MFC' 카테고리의 다른 글
CString 의 모든 관련내용 (0) | 2009.03.15 |
---|---|
CString 의 데이타 타입에 관한 정리표 (0) | 2009.03.15 |
error C2440 유니코드 적용에러 (0) | 2009.03.15 |
ATL 문자열 변환 (0) | 2009.03.15 |
Oracle DB Connection (0) | 2009.03.01 |
C# 에서 자기를 호출한 상위함수에게 예외를 던지고 싶을때 (1) | 2009.03.01 |
하나의 project 에서 여러개의 main 함수가 있을때 기본 StartUp 설정방법 (0) | 2009.02.28 |
파라미터로 가변인자 params 키워드 사용하여 배열로 넘기기 (0) | 2009.02.28 |