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

tntngus1223님의 프로필 이미지

작성한 질문수

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

ReaderWriterLock 구현 연습

ReadLock부분에서 이해한게 맞는지 확인하고 싶습니다.

해결된 질문

22.01.21 22:23 작성

·

290

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
이부분에서 Interlocked.CompareExchange 조건문에 예상값과 비교후에 +1을 해주는데
일반적인 상황은 아니겠지만 ReadCount범위를 초과하게 되면 어떻게 되는거지 라고 생각을 해보니 결국 WriteCount영역에 도달을 하게 되지만 ReadCount최대값의 +1 까지만 접근 가능하고 더이상은 WriteCount가 올랐기 때문에 더이상 접근할수 없게되고, 그 이후에 ReadUnLock() 실행이 되면 WriteCount에서 빠지고 그 뒤로는 이전처럼 동작하게 구조가 맞는거죠
 
이해한게 맞는지 확인하고 싶어서 글 올려봅니다.

답변 2

1

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

2022. 01. 21. 22:27

그 부분까진 고려하지 않습니다.
애당초 아주 극단적으로 사용해도 충분할만큼 readCount를 여유있게 두기 때문에
오버플로우 분석은 필요하지 않습니다.

0

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

2022. 01. 21. 22:29

빠른답변 감사합니다!!