Java 썸네일형 리스트형 Iterator 사용 중 ConcurrentModificationException 발생 회피 방법 [문제 증상] Iterator로 맵 등을 순회 중 다른 스레드에 의한 add 등의 연산으로 ConcurrentModificationException 발생 [해결법] 1. Iterator로 순회할 자료 구조를 복사하여 복사 값을 사용 예) List 를 array로 변환, List의 clone() 메소드 사용 즉, 다른 스레드에서 삽입/삭제 등의 작업을 하는 자료 구조를 복사하여 복사 값을 순회함으로써 오류를 회피 * 단점: 자료구조 내의 원소가 많을 경우, 성능상의 부하를 줄 수 있음 2. 해당 자료구조에 대한 연산을 수행하는 부분을 synchronized 블록으로 감싼다. * 단점: 스레드의 장점을 사용할 수 없음 3. 자바 버전 1.5 이상 사용 시, ConcurrentHashMap, CopyOnWri.. 더보기 이전 1 다음