728x90
- 여러 thread를 동시에 접근할 수 있는 공유자원의 소유권을 결정하는 모델이다. 우리가 Thread를 여러개 사용하고 싶을 때 자원을 공유하게 될 수도 있다
이때 필요한 것이 Mutex, semaphore 등이 있겠지만 동시에 접근할 수 있는 공유자원의 소유권을 결정하는 모델은 mutex이다.
c++ 11 version ~
- lock_guard : 하나의 scope (ex, 함수) 가 끝날 때 같이 해제됨, copy & move 불가, 생성자와 소멸자만 정의 되어있음
- unique_lock : move 가능 , 하나의 resource 로 보고 함수의 파라미터나 return으로 볼 수 있음
c++ 17 version ~
- scoped_lock : lock_guard 의 순서를 알 수 없을 때 scoped_lock을 이용하여 deadlock 상황을 피할 수 있음
728x90
'Done > C++_Python' 카테고리의 다른 글
Convert to C style String <-> C++ style std::string (0) | 2023.11.01 |
---|---|
[C++] Smart Pointer (Unique pointer, shared pointer) [1] (0) | 2023.09.02 |
[C++] 문서화 Doxygen 사용하기 (0) | 2023.07.09 |
[Deep learning] Pytorch 처음부터 KITTI dataset을 이용한 object detection - [1] (0) | 2023.06.09 |
[Deep learning] Pytorch 처음부터 KITTI dataset을 이용한 object detection - [0] (0) | 2023.06.09 |