8.11(토) C# - 기초문법4

from Study/C# 2007/08/13 17:18 view 20947

using System;

 

// 1.언제 수집되는가 ? Context스위칭시간 10ms정도를 가비지시스템이 작동한다.

// 메모리를 일단 쓰게 한후에 어느정도 찼을 메모리를 비워준다.
// (
메모리의 이동을 줄인다. )

// 2.세대 개념 0, 1, 2세대(관리 ) 차례대로 진행된다.

// 3.소멸자 호출

 

// C# Java 소멸자를 만들지 않는다.

// 대신 IDisposable 인터페이스를 구현해라.

// WINDOW API 가져다 HANDLE 같은것을 해제 시켜 줄 때만 소멸자의 역할을 만든다.

 

 

class Point

{

    public int x;

 

    public Point()

    {

        Console.WriteLine("Point.Point()");

    }

 

    public void Dispose()

    {

        Console.WriteLine("여기서 소멸자의 역할을 하게 해라.");

    }

 

    // c# 소멸자를 만들 있다.( finalize라고 부른다. )

    // 하지만 정확히 언제 호출 될지를 없다.

    //~Point()

    //{

    //    Console.WriteLine("Point.~Point()");

    //}

}

 

class Test

{

    public static void Main()

    {

        {

            Point p1 = new Point();

 

            p1.Dispose();   // 소멸 작업이 필요한 경우..호출

        }

        //GC.Collect(0);   // 강제로 가비지 Collection 한다.

        //GC.Collect(0);

        //Console.WriteLine("{0}", GC.CollectionCount(0));

 

        Console.WriteLine("AAA");

    }

}

Tag |

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다