idisposable 인터페이스의 올바른 사용
인터페이스는 주로 비 호스팅 리소스를 정리하는 데 사용되지만 양육권 자원을 정리하는 데 사용될 수 있으므로 자원 관리의 추가 유연성과 제어를 제공합니다.
idisposable을 사용하여 시간에 메모리를 해제하십시오
메소드를 사용하여 호스팅 리소스를 해제하기 위해 제공된 샘플 코드 (
그러나 메소드는 비 호스트 리소스를 해제해야하며, 여기에는 핸들, 데이터베이스 연결 또는 운영 체제 개체가 포함될 수 있습니다. 호스팅 리소스는 결국 쓰레기 재활용에 의해 재활용되므로
방법을 해제하기 위해 해제하는 것은 필요하지 않거나 이상적이지 않습니다.
릴리스 호스팅 및 비 호스팅 리소스 IDisposable
비 호스팅 및 호스팅 리소스의 정리를 처리하려면 다음 모드 사용을 고려하십시오.
메소드를 다시 작성하고 보조 메소드를 호출하고,
를 통과하려면 호출이 에서 파생되었으며 해제해야 함을 나타냅니다. Dispose
Rewam List<string>
메소드를하고 Dictionary<string, point>
(and 를 호출하여 터미널을 다시 호출하지 않도록하십시오).
를 만들어 내고,이 방법은 비 호스팅 리소스 및 선택적 양육권 자원을 청소할 수 있도록 처리합니다.
메소드가 호출되면 호스팅 리소스를 해제해서는 안된다는 것을 나타 내기 위해 Dispose
로 전달됩니다.
Dispose
모범 사례
리소스 관리를 최적화하려면 다음 모범 사례를 따르십시오.
항상 를 사용하여
를 사용하여 자동 쓰레기로 복구되지 않기 때문에 비 호스팅 리소스를 정리하십시오.
사용을 고려하십시오 - 이 성과 요구 사항을 충족하는 경우 양육권 자원을 정리하십시오.
터미널의 정확한 시간은 예측할 수 없기 때문에 터미널에 의존하기보다는 우선 순위 차동 호출
Finalize
. Dispose(Boolean)
는 true 메소드를 구현하지 않더라도, 비 컨디스 리소스에 의해 정리할 필요가 없더라도 하위 카테고리 또는 인터페이스 구현에 필요할 수 있기 때문입니다. Dispose
이러한 기준을 관찰함으로써 자원을 효과적으로 관리하고 성능을 향상 시키며 객체의 올바른 청소 및 폐기를 보장 할 수 있습니다.
위 내용은 관리 및 관리되지 않는 리소스에 Idisposable을 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!