작성한 질문수
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Event
작성
·
185
1
Producer 함수에서는 중괄호 안에서 락을 잡고 push를 해줘서 중괄호를 나가면 unlock이 될 것 같은데
Consumer 함수에서는 그냥 while문안에 락을 잡는데, 어느시점에서 락이 풀리는건지 궁금합니다.
감사합니다.
답변 1
3
동일합니다.명시적으로 { }을 하진 않았지만 while문의 { }에 unique_lock이 만들어졌으니 그것이 Consumer 쪽 Lock의 생명주기겠죠.
Consumer 쪽에서 락을 잡고 무한루프를 돌아서 unlock이 안될 것 같은데
어디에서 오개념이 있는지 궁금합니다.
무한루프와 무관하게 while (true) { } 끝에 도달하면 { } 안에 선언된 지역 변수가 소멸되기 때문에 unique_lock의 소멸자가 호출됩니다.
Consumer 쪽에서 락을 잡고 무한루프를 돌아서 unlock이 안될 것 같은데
어디에서 오개념이 있는지 궁금합니다.
감사합니다.