락 (컴퓨터 과학)

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기

컴퓨터 과학에서 (lock) 또는 뮤텍스(mutex, 상호 배제에서)는 여러 스레드를 실행하는 환경에서 자원에 대한 접근에 제한을 강제하기 위한 동기화 매커니즘이다. 락은 상호 배제 동시성 제어 정책을 강제하기 위해 설계된다.

유형[편집]

일반적으로 락은 일치 데이터에 접근하기 전에 락을 획득함으로써 각 스레드가 협업하는 어드바이저리 락(advisory lock)이다. 또, 일부 시스템들은 잠금된 자원에 대한 비인가 접근을 시도하면 예외를 강제하는 맨더터리 락(mandatory lock)을 구현한다.

가장 단순한 록의 유형은 바이너리 세마포어이다. 잠금된 데이터로의 배타적 접근을 제공한다. 그 밖의 스킴들은 데이터를 읽기 위한 공유 접근을 제공하기도 한다. 그 밖의 폭넓게 구현되는 접근 모드로는 exclusive(배타), intend-to-exclude, intend-to-upgrade가 있다.

데이터베이스 락[편집]

언어 지원[편집]

프로그래밍 언어는 동기화 지원 면에서 다양한 편이다:

같이 보기[편집]

외부 링크[편집]