fail-fast 방식이란?

프로그래밍|2012. 11. 27. 15:04

콜렉션 클래스들은 저장된 객체들에 대한 순차적 접근을 제공한다.

그러나, 순차적 접근이 모두 끝나기 전에 콜렉션 객체에 변경이 일어날 경우 순차적 접근이 실패되면서 ConcurrentModificationException 예외를 return하게 되는데 이를 fail-fast 방식이라고 부른다.


Enumeration은 순차적 접근 시 콜렉션 객체에 변경이 일어나도 이를 무시하고, 끝까지 동작하는 반면에Iterator는 fail-fast 방식으로 동작한다.


아래는 fail-fast 동작에 대한 테스트 코드이다.



테스트 결과

자바 콜렉션 프레임워크에 포함되어 있는 List, Vector, HashTable 등은 모두 fail-fast 방식으로 동작 Enumeration 인터페이스만 fail-fast 방식이 아님

댓글()