Auto Lock/Unlock for Thread Syncronization
스레드 간 동기화를 위해서는 락 메커니즘을 활용합니다. 락을 획득한 상태에서 예외가 발생하면 락을 반환해야 하는데 예외 케이스가 다양할 경우 각 예외 구문마다 락 반환코드를 넣는 것은 번거롭습니다. 이번 포스팅에서는 지역변수의 스코프 내 유효 특성을 이용하여 함수 종료 시 획득한 락도 자동으로 반환되는 일명 Autolock class에 대해 예제기반으로 설명합니다. 1. 커널모드, 유저모드 락은 크게 커널모드 동작방식, 유저모드 동작방식으로 구분되며 커널모드의 대표적인 락은 뮤텍스이며 중첩락을 허용하는 특징이 있습니다. 유저모드의 대표적인 락은 크리티컬섹션입니다. 현업에서 뮤텍스, 크리티컬섹션의 사용 사례를 다양하게 접했지만 뮤텍스의 중첩을 활용하는 경우는 거의 보지 못하였습니다. 또한 Lock/Unlo..