Bikeshed: Spliterator "fail-fast"
Paul Sandoz
paul.sandoz at oracle.com
Mon Jul 1 06:46:27 PDT 2013
Hi,
The Spliterator doc states:
* <p><a name="binding"/>A Spliterator that does not report {@code IMMUTABLE} or
* {@code CONCURRENT} is expected to have a documented policy concerning:
* when the spliterator <em>binds</em> to the element source; and detection of
* structural interference of the element source detected after binding.
...
* After binding a Spliterator should, on a best-effort basis, throw
* {@link ConcurrentModificationException} if structural interference is
* detected. Spliterators that do this are called <em>fail-fast</em>.
As Mike pointed out to me "fail-fast" is not accurate since the implementations for bulk traversal, specifically forEachRemaining, can throw a CME after traversal has completed.
- fail-finally
- fail-ultimately
- fail-eventually
?
Paul.
More information about the lambda-libs-spec-experts
mailing list