멀티 Thread 프로그래밍에서의 동기화 critical section과 semaphore critical section 은 두 개 이상의 thread가 동시에 접근하는 경우 문제가 생길 수 있기 때문에 동시에 접근할 수 없는 영역 semaphore는 특별한 형태의 시스템 객체이며 get/release 두 개의 기능이 있다. 한 순간 오직 하나의 thread 만이 semaphore를 얻을 수 있고, 나머지 thread들은 대기(blocking) 상태가 된다. semaphore를 얻은 thread 만이 critical section에 들어갈 수 있다. 노란색이 critical section // 일종의 메서드 구간이 될 수도 있고 블록 구간이 될 수도 있다. // 열쇠 get()으로 들어가서 잠근다. //..