Spinlock and Mutex
·
DevSec
스핀락과 뮤텍스 (Spinlock & Mutex)동기화(Synchronization)의 필요성멀티프로세스 및 멀티스레드 환경에서는 여러 작업이 동시에 실행되면서 공유 데이터를 다루게 된다. 이 과정에서 동기화 기법이 필요한 이유는 다음 현상들을 방지하기 위해서다.경쟁 상태 (Race Condition): 두 개 이상의 프로세스나 스레드가 공유 자원에 동시에 접근해서 실행 순서에 따라 결과값이 의도치 않게 달라질 수 있는 것.임계 구역 (Critical Section): 여러 프로세스 혹은 스레드가 공유 자원에 접근하는 코드 영역, 레이스 컨디션이 발생할 수 있는 구역이다.이러한 Critical Section 문제를 해결하고 데이터의 일관성을 보장하기 위해서는 한 프로세스가 임계 구역에 들어가 있을 때 다..