ConcurrentHashMap 이란

제로·2023년 9월 6일
0

Java basic

목록 보기
45/45
post-custom-banner

1. Hashtable 클래스

  • 메소드 전체에 synchrocized 키워드가 존재한다.
  • Multi-Thread 환경에서 동시 작업을 하게 되면 Lock이 걸리기 때문에 thread-safe 하지만 느리다는 단점이 있다.
  • 최근에는 잘 사용하지 않음.

2. HashMap 클래스

  • synchrocized가 존재하지 않기 때문에 Map을 구현한 클래스중에 가장 성능적으로 우수하다.
  • Multi-Thread 환경에서 사용할 수 없다.

3. ConcurrentHashMap 클래스

  • Hashtable 클래스의 단점을 보완하면서 Multi-thread 환경에서 사용할 수 있도록 나온 클래스
  • get 메서드에는 synchrocized가 없고 , put 메서드에는 존재
  • 읽기 작업에는 여러 쓰레드가 동시에 읽을 수 있지만, 쓰기 작업에는 특정 세그먼트 or 버킷에 대한 Lock을 사용한다
  • 동시작업 때문에 실무에서 많이 사용하는 클래스
profile
아자아자 화이팅

0개의 댓글