싱글톤 사용시 다음과 같이 최초 생성자 부분에 lock처리를 하게 되면
// Singleton
        public static ServiceHandler Instance
        {
            get
            {
                if (instance == null)
                {
                    lock (syncRoot)
                    {
                        if (instance == null)
                            instance = new ServiceHandler();
                    }
                }
                return instance;
            }
        }
싱글톤 클래스 안에 있는 public 메서드들도 스레드로 부터 안전하게 잠금처리가 되는 것인 가요?
가령
싱글톤 클래스에 다음과 같은 메서드가 존재 할때
public SSystemSummery TryGetSystemSummery(string mainSvrIP)
{
            SSystemSummery SystemSummeryResult = _thriftServiceProxy.GetService<SSystemSummery>("TryGetSystemSummery", mainSvrIP);
            return SystemSummeryResult;
}
여러 쓰레드에서
ServiceHandler.Instance.TryGetSystemSummery("127.0.0.1");
이렇게 호출 했을 저 메서드는 하나의 스레드에서만 처리 되는 것인지..
아니면 별도로
public SSystemSummery TryGetSystemSummery(string mainSvrIP)
{
            lock (....)
            {
                        SSystemSummery SystemSummeryResult = _thriftServiceProxy.GetService<SSystemSummery>("TryGetSystemSummery", mainSvrIP);
                        return SystemSummeryResult;
            }
}
이런식으로 처리를 해주어야 하는지가 궁금합니다.
답변 부탁드립니다.
        
        
                    
                    
                    
                    
                    
    
                    
                    
                    
                    
                    
                
                    [최초 등록일: ]
                    [최종 수정일: 9/11/2015]