단일 디자인 모델의 게으름뱅이와 굶주린 사람 메커니즘

1005 단어
게으름뱅이:

public class Singleton{
	private static Singleton uniqueInstance;//   、   、       
	private Singleton(){}	//       
//            ,           ,           
//     getInstance()    getInstance()     “synchronized”  
	public static Singlet synchronizedon getInstance(){
		if(uniqueInstance==null){
			uniqueInstance=new Singlenton();
		}
		return uniqueInstance;
	}
}

게으름뱅이 성능:
동기화는 성능을 저하시킵니다.
만약 프로그램이 성능을 100배 낮출 수 있다면, 이렇게 처리해도 된다.
그리고 이 방법을 처음 실행할 때만 진정으로 동기화가 필요하다.즉, uniqueInstance 변수를 설정하면 이 방법을 동기화할 필요가 없습니다.이후 매번 이 방법을 호출할 때마다 동기화는 일종의 군더기이다
굶주린 사람: 만약 이 실례가 창설되고 실행될 때 부담이 크지 않다면, 이러한 '절박' 정책으로 단례를 창설하는 것을 고려할 수 있습니다

public class Singleton {
	private static Singleton uniqueInstance=new Singleton ( );	
	private Singleton ( ){   }	
	public static Singleton1 getInstance(){	
		return uniqueInstance;
	}
}

좋은 웹페이지 즐겨찾기