...
Concurrent modification in single-threaded programs is usually a result of inserting or removing an element during iteration. Multithreaded programs add the possibility that a collection may be modified by one thread while another thread iterates over the collection. Unspecified Undefined behavior results in either case. Many implementations throw a ConcurrentModificationException
when they detect concurrent modification.
...
Some static analysis tools can detect some cases where an iterator is being used after the source container of the iterator is modified.
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="943dd8fd794ffc8c-035a2963-4f7e40c9-b2b397ae-78007831d15eb1bcce4e77f8"><ac:plain-text-body><![CDATA[ | [[API 2006 | AA. Bibliography#API 06]] | Class [ | http://java.sun.com/j2se/1.5.0/docs/api/java/util/ConcurrentModificationException.html] | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="83dc511cd306a8cb-c0fa43e1-4e1b48e9-b4938d83-663055ddf6e636294926fcfe"><ac:plain-text-body><![CDATA[ | [[SDN 2008 | AA. Bibliography#SDN 08]] | [Sun Bug database, Bug ID 6687277 | http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6687277] | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="d357411188496b8d-9d330a2d-42db467d-8ffbb74d-8a6a064567857338258f458c"><ac:plain-text-body><![CDATA[ | [[Goetz 2006 | AA. Bibliography#Goetz 06]] | 5.1.2. Iterators and | ]]></ac:plain-text-body></ac:structured-macro> |
...