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

가나파이님의 프로필 이미지
가나파이

작성한 질문수

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

Lock 기초

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

해결된 질문

작성

·

738

0

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

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

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

답변 2

2

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

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

{
   lock_guard ...
   ...
}

... 

1

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

{
int a;

}

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

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

가나파이님의 프로필 이미지
가나파이

작성한 질문수

질문하기