서블릿 컨텍스트에 저장하는 ConcurrentHashMap
이 있는데, 맵의 데이터가 동시에 변경됩니다. 서블릿 컨텍스트가 스레드로부터 안전하지만 ConcurrentHashMap
(쓰기 용)이라는 것을 알고 있습니다. 이 경우 동기화 구성을 사용해야합니까? 상황이 종료 될 때까지 제거되지 않으므로서블릿의 ConcurrentHashMap
synchronized (context) {
ConcurrentHashMap messages =(ConcurrentHashMap)context.getAttribute("map");
String mes = messages.get("id"); // can be changed by another thread?
messages.put("id",mes +"changed by thread 1");
}
메시지를 받고 변경 한 순간에 이전 값을 기준으로이 이전 값을 다른 스레드 (감시 코드)가 변경할 수 있습니까? – Sergey