자바/JAVA
ConcurrentHashMap
ykkkk
2023. 6. 19. 21:22
ConcurrentHashMap
ConcurrentHashMap 클래스는 동시성 친화적이며, 내부 자료구조의 특정 부분만 잠궈 동시에 추가, 갱신 작업을 허용한다. (내부적으로 synchronized
키워드를 블록 단위로 사용하여 메서드의 전체가 아닌 일부만 락을 걸어 동시성 문제를 해결하였다.
- 참고로 ConcurrentHashMap 이전에 멀티스레드에서 안전하게 만들어진 클래스는 HashTable이다.
- 하지만, HashTable은 주요 메서드 전체를
synchronized
로 감싸서 락을 걸기 때문에 성능상 ConcurrentHashMap 이 더 좋을 수 밖에 없다.
- 하지만, HashTable은 주요 메서드 전체를