CAS(Compare-And-Swap) 기법
·
SW 공학 & 프로그래밍 언어/Java
1. 개요CAS(Compare-And-Swap)는 동시성 프로그래밍에서 사용되는 원자적 연산 기법이며, CPU 명령 수준에서 제공되는 저수준 동기화 메커니즘참고!자바 진영에서 다중 스레드 환경에서 동기화 문제를 해결하기 위한 기법으로, 자바의 Atomic 클래스에서 자주 사용됩니다. CAS는 락을 사용하지 않고도 변수의 일관성을 유지할 수 있도록 하며, 특히 경합이 적은 상황에서 유용하게 사용됩니다.이 기법은 잠금을 사용하지 않고도 여러 스레드가 동시에 변수를 수정할 수 있도록 도와줍니다.기본 개념• CAS 연산은 메모리의 특정 위치에서 현재 값을 읽어와, 기대한 값(expected value)과 비교합니다.• 만약 현재 값이 기대한 값과 동일하면, 새 값(new value)으로 변경합니다.• 그렇지 않..