English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
동기화 해시맵은 JDK1.5.
에 포함된 클래스. 동기화 해시 매핑은 추가 또는 업데이트 작업 중에 임시 저장소의 슬롯 수준에서 잠금을 적용합니다. 따라서 동기화 해시 매핑은 매핑에 대한 동시 읽기 및 쓰기 작업을 허용합니다.
동기화 해시맵(Collections.syncronizedHashMap())는 Collection 프레임워크의 메서드 중 하나입니다. 이 메서드는 전체 집합에 잠금을 적용합니다. 따라서 한 스레드가 매핑에 접근하는 동안 다른 스레드는 동일한 매핑에 접근할 수 없습니다. | 순서 | 키 | 동기화 해시 매핑 |
---|---|---|---|
1 | 동기화 해시 매핑 | 구현 | 그것은 동기화 해시 매핑과 시리얼라이제이션 인터페이스를 구현한 클래스입니다. |
2 | 그것은 Collection 클래스의 메서드 중 하나입니다. | 잠금 구조 | 부분 잠금 |
3 | 전체 매핑을 잠금합니다. | 성능 | 여러 스레드가 동시에 매핑에 접근할 수 없습니다. 따라서 성능은 동기화 해시 매핑보다 낮습니다. |
4 | 빈 키 | NULL을 키나 값으로 사용할 수 없습니다. | NULL을 키로 사용할 수 있습니다. |
5 | 동기화 변경 예외 | 그는 동기화 변경 예외를 일으키지 않습니다. | 동기화된 매핑에서 반환하는 이터레이터가 동기화 변경 예외를 일으킵니다 |
public class SynchronizedMapExample { public static void main(String[] args) { Map<Integer,String> laptopmap = new HashMap<Integer,String>(); laptopmap.put(1,"IBM"); laptopmap.put(2,"Dell"); laptopmap.put(3,"HCL"); //동기화된 매핑 생성 Map<Integer,String> syncmap = Collections.synchronizedMap(laptopmap); System.out.println("Synchronized map is: "+syncmap); } }
public class ConcurrentHashMap---Example { public static void main(String[] args) { //ConcurrentHashMap--- Map<Integer,String> laptopmap = new ConcurrentHashMap---<Integer,String>(); laptopmap.put(1,"IBM"); laptopmap.put(2,"Dell"); laptopmap.put(3,"HCL"); System.out.println("ConcurrentHashMap--- is: "+laptopmap); } }