본문 바로가기

아는 만큼 보인다/Concurrency

Thread-Safe 를 위한 Keywords

Thread-Safe 를 위한 Keywords


1. volatile 

- 해당 공유되는 변수를 스레드별로 캐시하여 사용하지 말라는 뜻

- 64 bit 연산도 32 bit 연산을 두 번에 나눠 하지 않고 단일 연산으로 처리

- 해당 변수에대해 (read-연산-write) 를 묶어 thread-safe 하게 처리하는 것은 아님


2. final

- 읽기 전용 변수

- 유지보수/가독성에도 도움


3. java.util.concurrent.atomic

- volatile 특성 + lock free thread-safe

- lock를 사용하지 않고 CAS (Compare And Set/Swap)기법 사용하여 thread-safe 실현

- thread-safe 메소드 제공

increametAndGet, addAndGet, ..