본문 바로가기
프로그래밍

fail-fast 방식이란?

by 탁구치는 개발자 2012. 11. 27.

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

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


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


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



테스트 결과

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