본문 바로가기
Programming/WPF

Singleton구현.

by 곰네Zip 2022. 7. 18.

Singleton은 다음과 같이 구현하면 된다.

구문이 C#이라 C#이야기 카테고리일뿐, static 메소드를 통해 가져오는건 같다

 

public class MyClass{

#region singleton
	private static volatile MyClass instance; //volatile키워드는 붙여주는것을 추천
    private static object locker = new Object();
    
    public static MyClass GetInstance(){
       if( instance == null){
           lock( locker){
              if( instance == null){
                 instance = new MyClass();
              }
           }
       }
       return instance;
    }
#endregion
}

위와 같이 객체를 GetInstance할때. instance가 null인지 확인한 후, null이면 생성하도록 (lock은 걸자)

이러면 프로세스 내에서 유일하게 동작 가능한 instance를 만들 수 있다.

만약 프로세스 내에서 유일하게 관리되어야 할 데이터가 있다면, 이러한 싱글톤 객체를 사용하면 편리하더라.

 

반응형

댓글