C 11에서 로컬 정적 변수의 스레드로부터 안전한 초기화
C 11에서 로컬 정적 변수의 스레드로부터 안전한 초기화에 대한 우려가 제기되었습니다. C와 다양한 표준에 따른 진화. C 11의 맥락에서 구체적으로 이를 다루겠습니다.
C 11 표준
섹션 6.7의 C 11 표준(초안 아님)은 다음을 지정합니다.
따라서 , C 11에서 로컬 정적 변수의 스레드로부터 안전한 초기화는 다음과 같습니다. 완료되었습니다.
인기 컴파일러 구현
다음과 같은 주요 컴파일러:
C 11 표준에서 요구하는 스레드로부터 안전한 초기화 동작을 올바르게 구현했습니다. 이렇게 하면 예제의 lg와 같은 로컬 정적 변수의 생성자가 다중 스레드 환경에서도 한 번만 실행되도록 보장됩니다.
추가 고려 사항
중요 스레드로부터 안전한 초기화는 변수 자체의 초기화에만 적용됩니다. 추가 동기화 메커니즘을 사용하지 않는 한 참조를 통한 변수에 대한 후속 액세스는 스레드로부터 안전하다고 보장되지 않습니다.
위 내용은 C 11은 로컬 정적 변수의 스레드로부터 안전한 초기화를 어떻게 보장합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!