CAS (Compare And Swap)
·
Computer Science
비동기적 동시성 제어 기법 중 하나로, 여러 스레드가 동시에 데이터를 수정하려고 할 때 데이터의 일관성을 보장하는 방법이다. CAS는 원자적 연산(atomic operation)으로, 멀티스레드 환경에서 안전하게 데이터를 읽고 쓸 수 있게 한다. 원자적 연산컴퓨터 과학에서 사용하는 원자적 연산(atomic operation)은 해당 연산이 더 이상 나눌 수 없는 단위로 수행된다는 것을 의미한다. int i = 0;위와 같은 변수가 있을 때 `i = 1`이 연산은 둘로 쪼갤 수 없는 원자적 연산이다.단 하나의 순서로 실행되기 때문이다.오른쪽에 있는 1을 왼쪽의 `i`변수에 대입한다. `i = i + 1`하지만 이 연산은 원자적 연산이 아니다.다음 순서로 나누어 실행되기 때문이다.오른쪽에 있는 `i`의 값을..