2017-11-22 19 views
0

해시 맵을 동기화하는 방법이나 동시 수집을 사용하는 방법에 대한 많은 예제를 발견했습니다. 대부분 업데이트됩니다 두 번째 수준, 그리고 세 번째 수준의지도 :중첩 된 해시 맵의 동기화를 조정하는 가장 좋은 방법

Map<String, HashMap<String, HashMap<String, String>> map = new HashMap<String, HashMap<String, HashMap<String, String>>>(); 

참고 :이 중첩 된지도이기 때문에하지만 난, 튜닝과 유사한 구조를 동기화하는 가장 좋은 방법이 무엇인지 궁금. 댓글에이 질문에 대한 해명을 바탕으로 사전

+0

너무 애매합니다. 어떻게이 구조를 사용하고 있습니까? 그것에 대해 무엇을 "조정"하고 싶습니까? – shmosel

+0

당신이하고 싶은 것이 분명하지 않습니다. 액세스 패턴이 무엇인지는 분명하지 않습니다. 그 질문이 무엇인지 전혀 분명하지 않습니다. –

+0

글쎄, 내가 Collections.SynchronizedMap() 전체지도를 래핑해야 궁금 해서요 또는 모든지도 인스턴스 또는 뭔가 다른 ConcurrentHashMap 사용해야합니까? – lazar90

답변

0

에서

감사 :

1) 중첩 된지도는 스레드 안전

이되지 않습니다) 당신이 할 필요가있는 경우 삽입/삭제/갱신 조작을 수행하려면 스레드 안전 방}으로 수행해야합니다.

3) 두 개 이상의 스레드가 동시에 작업 할 수있는 중첩 계층마다 concurrentHashMap이 필요합니다.

아마도 단일 맵에 대한 위의 이해를 기반으로 코드를 작성한 다음 추가 레이어로 확장하려고 시도해야 할 것입니다.

다른 메모에서이 데이터 구조는 정확히 어떤 용도로 사용됩니까? 당신은 또한 그것을 단순화하는 방법을 찾는 것을 고려해야 할 것입니다.