Section 43.1: 정적 초기화 방식의 Singleton

public class Singleton { private readonly static Singleton instance = new Singleton(); private Singleton() { } public static Singleton Instance => instance; }

위 구현은 instance 객체가 정적 생성자에서 초기화되므로 스레드 안전 (thread-safe) 하다. CLR 에서는 이미 모든 정적 생성자가 스레드 안전한 방식으로 실행됨을 보장하고 있다. instance 값을 변경하는 것은 스레드 안전한 조작이 아니므로, readonly 속성을 통해 초기화 시점 이후부터는 변경 불가능함 (immutability) 을 보장한다.

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts