강의

멘토링

커뮤니티

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

infeet님의 프로필 이미지
infeet

작성한 질문수

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

Session #3

lock 에 대해서 질문드립니다

작성

·

455

0

Session 의

 

Send에서 lock 을 걸고

RegisterSend 로 진입 -> SendAsync 의 pending 이 false

라면 바로 같은 스레드에서 OnSendCompleted 진입

그런데 OnSendCompleted 도 처음에 lock 을 걸어야하는데

 

위 같은 경우 Send 에서 걸었던 lock 이 아직 풀리기 전에 호출스택이 OnSendCompleted 까지 쌓이는데

OnSendCompleted 에서 lock 안으로 진입할수 있는 이유는 같은 쓰레드 여서 인가요?

 

 

답변 1

1

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

엄밀히 말하면 락을 풀고 RegisterSend를 하는게 맞습니다.
(락 종류에 따라 다르지만, 중첩 락을 허락 안하는 경우라면 문제가 됩니다)
아마 Part7인가에서 수정이 되었던 것 같네요.

infeet님의 프로필 이미지
infeet

작성한 질문수

질문하기