Server/Spring1 [Java] ConcurrentHashMap은 왜 빠를까? – CAS와 bin-level lock 들어가며HashMap 대신 ConcurrentHashMap을 사용해라 Spring 개발을 해왔다면 흔히 듣는 말이다.왜 이런 말이 나오게 되었는지 ConcurentHashMap의 소스코드를 까(?)보면서 알아보자 HashMap과 SynchronizedHashMap은 싱글 스레드 환경에서 빠르게 동작한다. HashMap은 기본으로 싱글 스레드 환경에서 사용하기 위해 설계되었다. 동시성을 보장하지 않기 때문에 2개 이상의 스레드가 동시에 실행됐을 때 결과값을 예측할 수 없다. 동시성을 보장하기 위해, HashMap과 Synchronized를 함께 사용할 수 있다. 하지만 락의 범위가 크고, 모든 스레드를 직렬화하기 때문에 성능은 좋지 않다. 예시) 문제가 발생하는 코드아래 코드를 실행하면 2000을 기대.. 2026. 1. 15. 이전 1 다음