CAS

Compare And Swap, Compare And Set

  • Lock Free 구조를 구현하기 위한 핵심 원리
  • 별도의 동기화 코드(Lock)없이 원자적 연산 가능
    • 변수 값 확인, 비교, 교환 등 여러 연산을 하나의 CPU 연산으로 처리
    • HW 수준에서 동기화 보장
  • CPU의 Atomic instruction 사용
    • cmpxchg(Compare and Exchange)
    • 기계 명령어 한개로 통합한 것. 기존에는 막 원본이랑 비교하고 틀리면 동기화 하고하는것등을…

네이티브 API를 쓰는거였구나…