가시성에 관하여
안녕하세요 좋은강의 잘 듣고있습니다.
다름이 아니라 강의를 듣던 중 궁금한 점이 생겨 질문드리게 되었습니다.
_locked 변수는 volatile키워드를 통해 가시성을 보장하고 있으나
_num 변수는 가시성을 보장받지 못하고 있는 상황인데 어떻게 정상작동하나요?
또한 _locked 변수의 volatile 키워드를 제거하여 가시성을 보장받지 못해도 정상작동하네요.
volatile키워드나 메모리베리어를 통한 가시성의 보장은 언제 해주어야하는 것인가요?
읽어주셔서 감사합니다
답변 1
2
Lock, Interlocked등을 이용하면 자동으로 가시성과 재배치가 보장되기 때문에
volatile, memory barrier은 사실 개념만 어렴풋 이해하면 되고
임베디드 쪽과 같은 극한의 상황으로 가지 않는 이상
게임쪽에서는 평소에는 쓸 일이 없습니다. (특히 volatile은 많은 전문가들이 사용하지 말 것을 권고합니다.)
TLS 질문드립니다.
0
37
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
44
2
Unity Span
0
68
2
XML, Dll 차이점
0
99
2
Session 질문입니다
0
75
1
Write Read 커서 키워드
0
69
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
66
2
네트워크 Send 전담 스레드 배치
0
95
2
UnhandledException 으로 서버 터지는 경우
0
82
2
컨텐츠 단, 엔진 단
0
100
1
질문 있습니다
0
73
2
C# 게임서버 3D MMORPG
0
141
2
유니티6 버전
0
94
2
receive하는 부분과 send하는 부분의 차이
0
128
2
커서의 위치의 중요성
0
99
2
C++ 전혀 모르는데 C# 서버
0
165
2
강의에 질문이 있습니다
0
83
2
멀티스레드 이해도 질문
0
90
1
500 vs 500
0
122
3
OnAcceptHandler 액션 함수
0
58
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
186
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
79
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
100
1
스핀락 질문.
0
105
2





