Shared Lock, Exclusive Lock
Shared Lock, Exclusive Lock 기법을 분석한다.
1. Shared Lock, Exclusive Lock
1.1. Shared Lock
Read Lock이라고도 불리며 Critical Section 진입 후 Read 동작만 수행하는 경우 이용한다. Critical Section 진입 시 Shared Lock이 걸려 있어도, Shared Lock을 들고 Critical Section에 진입하여 Data를 Read 할 수 있다. 즉 여러개의 Thread가 동시에 Critical Section에 진입하여 Read 동작을 수행 할 수 있다. Critical Section 진입 시 Exclusive Lock이 걸려있는 경우, Exclusive Lock이 풀릴때 까지 대기한다.
1.2. Exclusive Lock
Write Lock이라고도 불리며 Critical Section 진입 후 Write 동작을 수행하는 경우 이용한다. Critical Section 진입 시 Shared Lock, Exclusive Lock이 걸려있지 않은 경우에만 Exclusive Lock을 들고 Critical Section에 진입 할 수 있다. 즉 Write 수행시 동시에 오직 하나의 Thread만 Critical Section에 진입하여 Write를 수행 할 수 있다.
2. 장점
일반적인 Lock 기법은 무조건 동시에 오직 하나의 Thread만 Critical Section을 접근 할 수 있다. 따라서 Critical Section안에서의 Read 동작도 동시에 오직 하나의 Thread만 수행 할 수 있었다. Shared Lock, Exclusive Lock 기법은 통해 동시에 여러 Thread가 Critical Section 안에서 Read 동작을 수행 할 수 있기 때문에, Critical Section안에서 Read 동작이 많은 경우 일반 Lock에 비해 좀더 병목현상을 줄일 수 있다.