싱글 톤을 작성하는 방법에는 여러 가지가 있으며이 예는 게으른 싱글 톤을 작성하는 방법입니다. 높은 동시성 환경에서 주목해야 할 사항 :
1. 싱글 톤이 동시에 접근하고 해당 GetInstance 메소드를 호출하면 여러 인스턴스 객체가 생성되고 잠금이 필요합니다.
2. 동기화 된 사용이 더 나은 솔루션입니다. 장점은 코드가 간결하고 단점은 예외를 던질 때 유지 보수를 처리하고 유지할 수 없으므로 시스템이 좋은 상태에 있다는 것입니다.
3. 표시된 잠금 설정은 좋은 솔루션입니다.
잠금을 사용하는 코드는 다음과 같습니다.
패키지 데모; java.util.concurrent.locks.lock import; java.util.concurrent.locks.reentrantlock import; / ** * 참조 사용법 * @Author Watson_Xu * @Date 2012-8 04:31:09 PM */ Public Final Class SingletonContext {private static singletoncontext sc = null; Private SingletonContext () {} private static lock lock = new ReintrantLock (); public static singletoncontext getInstance () {if (sc == null) {lock.lock (); if (sc == null) {try {sc = new SingletonContext (); } 마침내 {lock.unlock (); }} 반환 sc; }}동기화 된 경우 코드는 다음과 같습니다.
패키지 데모; / ** * 사용에 대한 참조 * @author watson_xu * @date 2012-8 04:31:09 pm */ public final class singletoncontext {private static singletoncontext sc = null; private singletoncontext () {} public static synchronized singletoncontext getInstance () {if (null == sc) {sc = new SingletonContext (); } 새로운 SingletonContext ()를 반환합니다. }}더 많은 Java Syntax를 보려면 "Java Chinese Manual의 사고", "JDK 1.7 참조 설명서 공식 영어 버전", "JDK 1.6 API Java Chinese Reference Manual", "JDK 1.5 API Java Chinese Reference Manual"을 따라갈 수 있습니다. 또한 모두가 wulin.com을 더 지원하기를 바랍니다.