면접 - 자바

개발자 면접 질문 - 동기화된 컬렉션(Thread-Safe Collection)

snow-line 2020. 12. 3. 20:04
반응형

1. 동기화된 컬렉션(Thread-Safe Collection)

 - 자바에서 Collections의 synchronizedXXX() 메서드를 제공하여 멀티 쓰레드에 안전한 컬렉션을 쓸 수 있게 한다.

리턴 타입 메소드(매개변수) 설명
List<t> synchronizedList(List<t> list) List를 동기화된 List로 리턴
Map<K,V> synchronizedMap(Map<K,V> m) Map을 동기화된 Map으로 리턴
Set<t> synchronizedSet(Set<t> s) Set을 동기화된 Set으로 리턴

2. 단점

 - 하나의 쓰레드가 요소를 안전하게 처리하도록 도와주지만 전체 요소를 빠르게 처리하지 못한다. (작업시 락 발생)

 

3. 대안

 - 자바에서 멀티쓰레드환경에서 안전하면서도, 쓰레드가 병렬적으로 작업을 처리할 수 있도록 기능을 제공한다.

 

 Map<K,V> map = new ConcurrentHashMap<K,V>();
 Queue<E> queue =
new ConcurrentQueue<E>();

 Queue<E> queue = new ConcurrentLinkedQueue<Object>();

반응형