
New: Thread가 생성되었으나 아직 시작되지 않은 상태Runnable: Thread가 실행 중이거나 실행될 준비가 된 상태일시 중지된 상태들Blocked: Thread가 동기화 Lock을 기다리는 상태Waiting: Thread가 무기한으로 다른 Thread의 작

위의 코드를 실행하면 일반적인 생각으론 위와 같은 로그가 나오길 기대합니다.main thread에서 MyTask의 runFlag를 false로 변경했기 때문입니다.하지만 실제로 위의 코드를 실행해보면 main thread가 찍은 5번 로그에서 runFlag를 분명 fa

락을 걸지 않고 원자적인 연산을 수행할 수 있는 방법이 있는데 이것을 CAS(Campare-And-Swap) 연산이라 합니다.이 방법은 락을 사용하지 않기 때문에 Lock-Free 기법이라합니다.CAS 연산은 락을 완전히 대체하는 것은 아니고 작은 단위의 일부 영역에