본문 바로가기
java

[java] Iterator의 Fail-Fast 방식과 Fail-Safe 방식의 차이점

by hs_seo 2018. 3. 6.

Fail-Fast와 Fail-Safe 방식의 차이는 다음과 같다. 


Fail-Fast 방식은 동작중 오류가 발생하면 바로 오류를 알리고, 작업을 중단합니다. 

Fail-Safe 방식은 동작중 오류가 발생하도 작업을 중단하지 않고 진행합니다. 


자바에서는 Iterator가 for 문을 이용한 순환중 데이터가 변경되었을때 

Fail-Fast 방식이면 java.util.ConcurrentModificationException 오류를 throw 하고, 

Fail-Safe 방식이면 동작이 계속된다. 


Fail-Safe 방식은 ConcurrentHashMap 을 이용할 때만 가능하다. 

구현 방법은 다음과 같다. 



반응형