인프런 커뮤니티 질문&답변

JeongJu Lee님의 프로필 이미지
JeongJu Lee

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

DEEP DIVE : 싱글톤 패턴을 구현하는 7가지 방법 #1 ★★☆

싱글톤 패턴을 구현하는 방법중 첫번째에 관해 질문 있습니다.

해결된 질문

작성

·

148

0

안녕하세요 큰돌님

싱글톤 패턴을 구현하는 방법중 첫번째인 단순한 메서드 호출에 관해 질문이 있습니다.

자바의 경우 단순한 메서드 호출을 통해 싱글톤 패턴 생성여부를 확인할때 멀티스레드 환경에서 인스턴스가 2개 이상 만들어질수 있다고 하셨는데

싱글스레드 기반의 자바스크립트를 사용하여 싱글톤 패턴을 구현하는경우에는 1번의 방법만으로 패턴 구현하는것이 충분한가요?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

자바의 경우 단순한 메서드 호출을 통해 싱글톤 패턴 생성여부를 확인할때 멀티스레드 환경에서 인스턴스가 2개 이상 만들어질수 있다고 하셨는데

싱글스레드 기반의 자바스크립트를 사용하여 싱글톤 패턴을 구현하는경우에는 1번의 방법만으로 패턴 구현하는것이 충분한가요?

>> 이부분 말씀이신가요?

class Singleton {
    constructor() {
        if (!Singleton.instance) {
            Singleton.instance = this
        }
        return Singleton.instance
    }
    getInstance() {
        return this 
    }
}
const a = new Singleton()
const b = new Singleton() 
console.log(a === b) // true 

네 맞습니다. 싱글스레드이기 때문에 이부분 만으로도 충분합니다.

다만.

자바스크립트는 Web Workers API를 통해 멀티스레딩 기능을 지원합니다. Web Workers를 사용하면 백그라운드 스레드 + 메인스레드로 작업할 수 있다는 점을 참고로 알아두세요 ㅎㅎ



또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


JeongJu Lee님의 프로필 이미지
JeongJu Lee

작성한 질문수

질문하기