인터뷰 준비: 스레드 안전의 정의 및 구현

Q. thread-safe의 정의와 구현에 대해 설명해주세요.
A. 둘 이상의 쓰레드가 같은 객체에 접근하더라도 연산 결과의 일관성이 보장될 수 있도록 메모리 가시성이 확보된 상태를 말한다.
스레드 안전을 구현하려면 불변 개체를 사용하거나, java.util.concurrent 클래스를 사용하거나, ThreadLocal을 사용하거나, 동기화된 키워드를 사용하거나, 최종 변수를 사용해야 합니다.