여기에 설명 된대로 : ConcurrentHashMap in Java? Java에서의 동시 해시 맵은 스레드로부터 안전합니다. Java 컨트롤러는 웹 요청 용이며 웹에서 동시에 호출 할 수 있습니다.자바 컨트롤러에서 HashMap 또는 ConcurrentHashMap?
제 질문은 : Java에서 해시 맵 대신 동시 해시 맵을 사용해야합니까?
여기에 설명 된대로 : ConcurrentHashMap in Java? Java에서의 동시 해시 맵은 스레드로부터 안전합니다. Java 컨트롤러는 웹 요청 용이며 웹에서 동시에 호출 할 수 있습니다.자바 컨트롤러에서 HashMap 또는 ConcurrentHashMap?
제 질문은 : Java에서 해시 맵 대신 동시 해시 맵을 사용해야합니까?
쓰기 또는 2 회의 동시 쓰기와 함께 동시 읽기를 수행하는 경우에만 ConcurrentHashMap
이 필요합니다. 초기화 후지도를 변경하지 않으면 일반 HashMap
으로 충분합니다.
컨트롤러는 일반적으로 요청 별 상태를 포함하지 않아야하며 (이러한 상태는 매개 변수로 메서드에 전달되어야 함) 컨트롤러를 이런 식으로 디자인하면 컨트롤러 내에서 동기화가 필요하지 않습니다.
동일한 해시 맵에 액세스하는 스레드가 여러 개인 경우이 액세스를 동기화해야합니다.
ConcurrentHashMap처럼 이미 구현 된 객체를 사용하거나 자신의 동기화 코드를 작성하고 일반 HashMap을 사용할 수 있습니다.
예를 들어 동시 해시 맵이 필요하고 필요하지 않은 컨트롤러가있을 수 있습니까? – kamaci
@kamaci : 앞에서 언급했듯이 잘 설계된 컨트롤러는 상태를 유지하지 않아야하며 동시 해시 맵을 필요로하지 않아야합니다. – casablanca