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

leesh5000님의 프로필 이미지
leesh5000

작성한 질문수

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

ReaderWriterLock

강의 4:30초 질문

작성

·

168

0

안녕하세요. 좋은 강의 찍어주셔서 감사합니다.

이번 강의 4:30초에서 락은 "근성, 양보, 갑질" 세 가지로 사용할 수 있다고 하셨습니다.

그렇다면 다음과 같이 일반 lock을 사용한다면,

static object _lock = new object();

static void Main(string[] args)

{

        lock(_lock)

        {

        }

}

이것은 한번만 자물쇠 획득을 시도하고 자물쇠를 획득하지 못하면, Thread.Yield()를 하는 MAX_COUNT가 1인 스핀락과 같은 것 인가요?

답변 1

0

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

내부 구현에 대해 정확하게 알 수는 없지만
구글에서 C# lock과 관련해 조사해보면
내부적으로 Monitor 클래스를 사용하고,
스픽락(user mode)과 이벤트(kernel mode)를 적절히 섞어 쓴다고 본 것 같네요.

leesh5000님의 프로필 이미지
leesh5000

작성한 질문수

질문하기