C#의 분석 및 쓰레기 회수 실례 분석

1695 단어
C#의 분석 및 쓰레기 회수 실례 분석
책을 읽을 때 자신이 쓴 예시 코드를 몇 가지 지식을 알고 기록해 두세요.동시에 자신의 손으로 코드를 쓰는 능력이 비교적 약하다는 것을 발견하면 그래도 많이 써야 한다.

using System;
namespace ConsoleApplication
{
  public class Program
  {
    public static void Main(string[] args)
    {
      Console.WriteLine("Hello World!");
      fun();
      GC.Collect();                //4、      ,          。
      Console.WriteLine("end!");
    }
    public static void fun(){            //1、     static
      A a=new A();
      a.Dispose();
      //GC.Collect();               //3、      ,  a    
    }
    public class A:IDisposable{
     /* protected override void Finalize(){     //2、       Finalize,        。       Finalize,     ,        。    
         Console.WriteLine("some one disposed!");
      }*/
       ~A(){
         Console.WriteLine("some one Finalize!");
      }
      public void Dispose(){
         Console.WriteLine("some one disposed!");
      }
    }
  }
}

1. 이 코드의 출력은 다음과 같다.

Hello World!                                         
some one disposed!                                       
end!                                              
some one Finalize! 

이 회수상은 매우 비동기적으로 호출된다.
2. IDisposable 인터페이스의 Dispose 방법은'사용자가 대상을 사용하지 않을 때 수동으로 호출해야 한다'는 목적이다. 예를 들어 파일 열기, 데이터베이스 접근 등이다.제때에 석방해야 한다.
분명히 이 개념과 쓰레기 회수는 두 개념이다.방출된 후에도 이 대상은 여전히 존재하며, 운행 환경이 회수되어야 하며, 마지막 줄을 보십시오.
읽어주셔서 감사합니다. 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기