인프런 커뮤니티 질문&답변

DeBuggerKing님의 프로필 이미지
DeBuggerKing

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

ReaderWriterLock 구현 연습

WriteUnlock() 질문드립니다.

작성

·

268

0

WriteUnlock() 코드를 보면은
 
Interlocked 를 사용하셔서 _flag를 EMPTY_FLAG로 변경하시는데, 이부분은 _flag = EMPTY_FLAG; 로 해도 되지 않나요? 대입은 원자적인 연산으로 처리되는 걸로 알고 있어서 요

답변 1

3

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 그렇게 해도 됩니다.
다만 대입이 항상 원자적인 것은 아닙니다.
64비트를 넘어서는 큰 struct 등을 원자적으로 처리할 수 있는 방법이 없겠죠.

DeBuggerKing님의 프로필 이미지
DeBuggerKing
질문자

답변 감사합니다.

DeBuggerKing님의 프로필 이미지
DeBuggerKing

작성한 질문수

질문하기