Java의 Synchronized와 CAS: 비관적 잠금과 낙관적 잠금 이해하기
Java에서 Synchronized는 비관적 잠금의 대표적인 예로, 어떤 데이터 접근이든 무조건 잠금을 걸어야 한다는 원칙을 따릅니다. 이는 사용자 모드와 커널 모드 간 전환, 잠금 카운터 관리 및 차단된 스레드 검사 등을 포함하는 복잡한 과정을 필요로 합니다.
하지만 하드웨어 명령어 집합의 발전으로 인해 충돌 감지 기반의 낙관적 동시성 제어가 가능해졌습니다. 먼저 작업 ...
6월 6일 02:21에 게시됨