Lock 의 원리락은 임계 구역(critical section)에 동시에 하나의 스레드만 접근하도록 제한하는 동기화 메커니즘이다. 접근을 막는 이유는 코드 블록 사이에서 관리되는 데이터가 존재하고,그 데이터가 예상하지 못한 방식으로 잘못 변경되는 것을 막기 위함이다. 보통의 락이라면, 락이 걸린 코드에는 단 하나의 스레드만 접근이 가능하다.그렇기에 동시에 많은 스레드가 해당 코드에 진입하려 하면 자연스럽게 대기가 발생하고, 지연이 늘어날 수밖에 없다. 이런 지연을 줄이기 위해 파생된 동시성 제어 기법들이 있다.낙관적 락 : 충돌이 거의 없다고 가정하고, 먼저 실행한 뒤 커밋 시점에 정합성을 검증하는 방식동적 세마포어 : 스레드의 동시 접근은 허용하되, 시스템 상태에 따라 동시에 처리할 수 있는 개수를 동..