영권's
ConcurrentHashMap 본문
ConcurrentHashMap
ConcurrentHashMap 클래스는 동시성 친화적이며, 내부 자료구조의 특정 부분만 잠궈 동시에 추가, 갱신 작업을 허용한다. (내부적으로 synchronized
키워드를 블록 단위로 사용하여 메서드의 전체가 아닌 일부만 락을 걸어 동시성 문제를 해결하였다.
- 참고로 ConcurrentHashMap 이전에 멀티스레드에서 안전하게 만들어진 클래스는 HashTable이다.
- 하지만, HashTable은 주요 메서드 전체를
synchronized
로 감싸서 락을 걸기 때문에 성능상 ConcurrentHashMap 이 더 좋을 수 밖에 없다.
- 하지만, HashTable은 주요 메서드 전체를
'자바 > JAVA' 카테고리의 다른 글
Effective Java - item6(불필요한 객체 생성을 피하라) (0) | 2022.09.06 |
---|---|
Java8과 비교하여 Java 11에서는 GC가 어떻게 변했을까? (0) | 2022.04.26 |
Effective Java - item5(자원을 직접 명시하지 말고 의존 객체 주입을 사용하라) (0) | 2022.04.19 |
Effective Java - item4 (인스턴스화를 막으려거든 private 생성자를 사용하라) (0) | 2022.04.06 |
Effective Java - item3 (Private 생성자나 열거 타입으로 싱글턴임을 보증하라) (0) | 2022.04.06 |
Comments