인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

cosacoke님의 프로필 이미지
cosacoke

작성한 질문수

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

Event

unlock 시점 질문이 있습니다.

작성

·

185

1

Producer 함수에서는 중괄호 안에서 락을 잡고 push를 해줘서 중괄호를 나가면 unlock이 될 것 같은데

Consumer 함수에서는 그냥 while문안에 락을 잡는데, 어느시점에서 락이 풀리는건지 궁금합니다.

감사합니다.

답변 1

3

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

동일합니다.
명시적으로 { }을 하진 않았지만 while문의 { }에 unique_lock이 만들어졌으니
그것이 Consumer 쪽 Lock의 생명주기겠죠.

cosacoke님의 프로필 이미지
cosacoke
질문자

Consumer 쪽에서 락을 잡고 무한루프를 돌아서 unlock이 안될 것 같은데

어디에서 오개념이 있는지 궁금합니다.

감사합니다.

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

무한루프와 무관하게 while (true) {   } 끝에 도달하면
{ } 안에 선언된 지역 변수가 소멸되기 때문에 unique_lock의 소멸자가 호출됩니다.

cosacoke님의 프로필 이미지
cosacoke

작성한 질문수

질문하기