본문 바로가기

Language/Design Pattern

[Design Pattern: 생성] 1. Singleton

목적

동일한 인스턴스를 여러 객체에서 사용하고 싶은 경우 사용함

즉, 모든 객체에서 사용하는 Global 전역 변수 인스턴스 같은 개념


**여러 객체에서 사용하는 특징에 따라 synchronized 해야 스레드에 안전함

예제

<싱글톤 class>


<synchronization성능을 향샹시키기 위한 코드>

동기화 때문에 성능관련 이슈가 발생할 수 있기 때문에 아래와 같은 코드를 작성해 최초 초기화때에만 동기화를 해 성능을 향상 시킨다.
volatile스레딩 환경에서 하나의 변수가 완벽하게 한번에 작동하도록 보장하는 키워드



<사용>