CAS
ConcurrentHashmap 동시성 처리 방법
ConcurrentHashmap 동시성 처리 방법
2024.10.13ConcurrentHashMap 이란?Java의 동시성을 지원하는 HashMap의 변형이다. 여러 스레드가 동시에 데이터에 접근하고 수정할 때 발생할 수 있는 문제를 해결하기 위해 설계된 자료구조이다. 기본적으로 Java 의 HashMap은 스레드에 안전하지 않기 때문에 여러 스레드가 동시에 접근할 경우 데이터 무결성이 깨질 수 있다. HashTable/Synchronized Map 은 전체 lock 을 걸어 사용하고 있기 때문에 thread-safe 한 면은 있지만 성능 오버헤드를 발생시킨다. 세그먼트라는 작은 해시 테이블 여러 개를 만들어서 관리한다. 위 그림을 보면 보다 명확하게 알 수 있다. HashMap, Synchronized 는 synchronized 키워드로 HashMap 메서드를 래핑해..