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를 만들 수 있다.
만약 프로세스 내에서 유일하게 관리되어야 할 데이터가 있다면, 이러한 싱글톤 객체를 사용하면 편리하더라.
반응형
댓글