[1] 동시성 이슈가 발생하는 원인(1) CPU 기계어 명령은 기본적으로 원자적 연산을 지원하지 않는다.프로그램은 프로그램 코드를 CPU 기계어 명령어로 변환하여 연산하는데, 이 때 CPU 기계어 명령은 기본적으로 원자적 연산을 지원하지 않는다.두 명령어 이상을 처리하는 경우 원자성을 보장하지 않으며 즉, 현재 수행 중인 명령어가 모두 실행되지 않은 상태로 인터럽트 될 수 있다.결론적으로 CPU 에서 원자성을 보장하지 않는 모든 연산 처리는 스레드 간 동시 접근에 의해 데이터 불일치가 발생할 수 있다.자바에서의 해결 방안 : Atomic 연산 객체 (2) CPU 처리 데이터는 실시간으로 메인 메모리에 데이터가 저장되지 않는다.가시성(visibility) 은 멀티 스레드 환경에서 공유 변수의 변경 내용이..