나는 C++ 03 표준으로, 기능 범위 내 정적 초기화가 스레드 안전이 보장되지 않는 것을 알고있다 최종적으로 표준 스레드 지원을 제공하는 표준은 스레드 안전성이 요구되는 함수 범위 정적 초기화입니까?C++ 0X 정적 초기화 및 스레드 안전
10
A
답변
9
는이 경우 객체가 동적으로 기능을 입력시 초기화되기 때문에 초기화가, 스레드 안전 할 것 같다, 임계 영역에서 실행되도록 보장된다 :
4. ..such 객체가 선언을 처음 통과 할 때 객체가 초기화됩니다 ... 객체가 초기화되는 동안 컨트롤이 동시에 선언에 진입하면 동시 실행은 초기화가 완료 될 때까지 대기합니다 ...
main()에서 반환 한 후 정적 객체의 소멸자가 정적 로컬이 이미 파괴 된 후 함수를 호출하면 동작이 정의되지 않을 수 있으므로 잠재적 인 가장자리 케이스가 있습니다. 그러나, 그것은 피하기 쉽습니다.
+3
유명한 마지막 단어는 "피할 수 있어야합니다". 일반적인 경우에는 피하는 것이 대단히 어렵습니다. –
+0
@deft_code : +1, 최근에 물었다. – peterchen
관련 문제
- 1. 정적 메서드 및 스레드 안전
- 2. 정적 메서드 및 스레드 안전
- 3. 뮤텍스가없는 스레드 안전 정적 변수?
- 4. C# 타이머 및 스레드 안전
- 5. 코코아/목표 C : 메서드 및 스레드 안전
- 6. C++ 0x 균일 초기화 "oddity"
- 7. C++ 0x 생성자없는 멤버 초기화
- 8. C++ 0x 초기화 목록 예
- 9. 스레드 안전 C++ 스택
- 10. 스레드 안전 및 일반 arraylist?
- 11. C/C++ 스레드 안전 tmpnam?
- 12. Java StringBuilder 및 스레드 안전
- 13. 무료 및 malloc Visual C++ 스레드 안전?
- 14. posix C write() 및 스레드 안전
- 15. C# DataSource 클래스 및 스레드 안전
- 16. 스레드 안전 공유 객체 만료 및 다시 초기화
- 17. 스레드 안전
- 18. 다른 클래스의 정적 속성을 참조 할 때 C# 스레드 안전
- 19. Android의 정적 안전 장치입니까?
- 20. C# 스레드 안전 확장 메서드
- 21. C++ 소켓 Send() 스레드 안전
- 22. C 정적 변수 초기화
- 23. 최종 필드 및 스레드 안전
- 24. STL 벡터 및 스레드 안전
- 25. 포틀릿, HttpSession 및 스레드 안전
- 26. 파이썬 반복자 및 스레드 안전
- 27. 스레드 안전 및 지역 변수
- 28. INT64 (긴) 및 스레드 안전
- 29. 스레드 안전 프레임 워크
- 30. C++ 문자열 상수 및 정적 변수 초기화
오늘은 C++ 1x –
이라고 생각합니다. Bjarne Stoustrup은 x를 16 진수로 생각한다고합니다. 0x –
@ 존 : 그가 생각하거나 좋아할 수있는 것에 관계없이, 저의 이해는 저것입니다 ISO 지침에서는 표준과 같은 문서 버전을 10 진수로 변경해야합니다. –