• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

std::lock_guard에 대해 질문드립니다 .

21.06.21 14:24 작성 조회수 576

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

그냥 lock을 사용했을 때는 unlock을 해줄 때까지 그 사이의 작업에 lock을 걸어주겠다고 범위를 정하는거로 이해를 했는데,

만약 lock_guard를 사용하게 되면 어디 범위까지 lock을 걸어주고 풀어주는지 어떤 식으로 구분하게 되는건가요? 

답변 2

·

답변을 작성해보세요.

2

물론 lock_guard가 생성/소멸 될 때가 범위입니다.
인위적으로 범위를 조절하려면 { } 를 이용해서 lock_guard의 범위를 찝어주면 됩니다.

{
   lock_guard ...
   ...
}

... 

1

GODOT님의 프로필

GODOT

2021.11.16

stack 메모리 생각하면 될 것 같아요. 

{
int a;

}

a 를 이렇게 괄호 밖에서 못사용하니깐 접근이 안되죠.

그럼 클래스 같은 경우는 소멸자를 불러 버리니깐 알아서 unlock