-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
WriteUnlock 질문이 있습니다
22.03.15 14:44 작성 조회수 144
0
24분 10초경에
int lockCount = --_writeCount; << 를 두개의 쓰레드가
동시에 unlock하게 되어서 lockCount 값이 0을 갖지 못하고,
_flag가 EMPTY_FLAG로 영영 못바뀌는 경우는 없는걸까요??
답변을 작성해보세요.
1
Rookiss
지식공유자2022.03.15
WRITE_LOCK은 상호배타적이라, 동시에 2개의 쓰레드가 writeLock을 잡을 수 없습니다.
따라서 WriteUnlock도 동시에 2개의 쓰레드가 실행할 수 없습니다.
no6614163
질문자2022.03.15
아 Spinlock을 써서 상호배타적이게 만들어 놓고도 재귀적락을 허용한다는 부분에서 혼동했네요.
재귀적 락을 허용한다는게 동일 쓰레드에서 writeLock을 허용한다는 의미였는데 놓쳤습니다.
답변감사합니다.
답변 1