[C++] Lock(std::lock_guard, std::unique_lock)
2022. 10. 14. 01:37
Development/C++
저번 포스트에서 멀티 쓰레드 프로그래밍시 race condition에 의해 공유 자원을 사용하는 critical section에 자원을 동시에 접근했을때 문제가 생기는것을 알아보았다. 이런 상황을 방지할 때 사용할 수 있는 mutex라는것에 대해서도 알아보았다. 이번 포스트에서는 아래와 같은 것에 대해 공부해보고자 한다. 1. mutex.lock()을 걸어두고, mutex.unlock()을 해주지 않았을때 어떠한 문제가 발생하는지 2. 위의 문제를 방지하기 위한 유용한 것들 mutex unlock을 해주지 않았을때 발생하는 문제점 저번 포스트에서 mutex를 공용 화장실에 자물쇠에 비유했었다. 동일하게 mutex를 자물쇠라고 생각했을때, lock()을 한 상황은 어떤 한 사람이 화장실에 들어가서 문을 잠..