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

가또님의 프로필 이미지
가또

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Reader-Writer Lock

구현 방식에 대한 질문입니다.

작성

·

256

0

거대한 데이터를 복사해 가기 위한 Read를 하는 상황에서 

Read가 끊임없이 발생한다고 한다면 write에서 전혀 잡을 수 없을것 같습니다.

 

writeLock에서 먼저 락을 잡을때 다른 writeLock이랑만(추가로 ReadLock들이 잠깐 쓰는동안만) 경합을 벌이고 이후 다른 Readlock들이 나갈때까지 기다려주는식의 코드는 어떤가요?

대부분 상황에서는 그런 경우가 거의 없는편인가요?

답변 1

1

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

writeLock은 상대적으로 드물게 일어날 때
RWLock을 사용하기에 큰 이슈는 없습니다.
참고로 강의 코드는 실제 프로젝트에서 사용한 코드와 유사하게 만들었습니다.
그리고 사실 멀티쓰레드에서 Lock을 0.00000000001초 단위로 잡고 그런건 아니라서,
그 정도로 엄격할 필욘 없다고 봅니다.

가또님의 프로필 이미지
가또

작성한 질문수

질문하기