Human: 소프트웨어 엔지니어링에서 이중 확인 잠금("이중 확인 잠금 최적화"라고도 함)은 잠금을 획득하기 전에 잠금 기준("잠금 힌트")을 테스트하여 잠금 획득에 따른 오버헤드를 줄이는 데 사용되는 소프트웨어 설계 패턴입니다. 잠금 기준 검사에서 잠금이 필요한 것으로 표시된 경우에만 잠금이 발생합니다.

이 패턴은 일부 언어/하드웨어 조합에서 구현될 경우 안전하지 않을 수 있습니다. 때로는 안티 패턴으로 간주될 수도 있습니다.

일반적으로 멀티스레드 환경에서 "지연 초기화"를 구현할 때, 특히 싱글톤 패턴의 일부로 잠금 오버헤드를 줄이기 위해 사용됩니다. 지연 초기화는 값이 처음 액세스될 때까지 초기화하지 않습니다. 
이중 확인 잠금은 안전한가요? 

Assistant: 이중 확인 잠금은 일부 상황에서 안전하지 않을 수 있으며 때때로 안티 패턴으로 간주되기도 합니다. 하지만 안전한 방법으로 구현할 수 있습니다.</s>