작성
·
215
0
강의 재미있게 듣고있는 학생입니다. 질문이 있어서 질문드립니다..
1. (lockThreadId == LThreadId) 이게 거짓이면 lockThreadId는 항상 0이 맞나요?
2. WriteLock이나 ReadLock에서 expected를 정의하는 부분이 while문 밖으로 나가도 상관이 없을까요?
감사합니다.
답변 1
1
1. (lockThreadId == LThreadId) 이게 거짓이면 lockThreadId는 항상 0이 맞나요?
아닙니다. 현재 시도하는 쓰레드 (LThreadId)가 아닌 다른 쓰레드가 잡은 상황일 수도 있죠.
2. WriteLock이나 ReadLock에서 expected를 정의하는 부분이 while문 밖으로 나가도 상관이 없을까요?
while 내부에서 하건, 밖에서 하건,
변수가 메모리 잡히는 것은 어차피 동일합니다 (스택 영역)
따라서 밖으로 하더라도 전혀 상관 없습니다.