728x90
반응형
unique_lock과 lock_guard의 차이점은 lock을 걸 수 있는 시점이다. 둘 다 소멸 시점에 lock이 걸려 있다면 unlock을 수행한다. lock_guarud는 lock과 unlock 사이에서 lock과 unlock을 할 수 없지만 unique_lock은 소멸하기 전에 unlock과 lock을 걸 수 있다.
unique_lock은 lock_guard에 기능이 추가된 버전이라고 생각하면 된다.
이러한 lock 유틸리티 객체를 사용하는 것은 프로그래머가 unlock 코드에 신경 쓰지 않아도 되게 해 준다.
아래와 같이 사용하면 된다.
std::mutex m_mutex;
std::lock_guard<std::mutex> lock(m_mutex);
std::unique_lock<std::mutex> lock(m_mutex);
728x90
반응형
'Program Language > C & C++' 카테고리의 다른 글
[C++] std::chrono로 시간 측정하기 (0) | 2022.01.21 |
---|---|
[C++] std::list 정렬하기 (0) | 2022.01.21 |
[C++] 함수 delete (0) | 2022.01.17 |
[C++] static 멤버 초기화 (0) | 2022.01.17 |
[C++] initializer-list 생성자 (0) | 2022.01.14 |