CopyOnWriteArrayList и CopyOnWriteArraySet.
Итераторы этих коллекций работают с согласованным снимком данных, сделанным в момент создания итератора. Это обеспечивает их потокобезопасность при одновременном чтении и записи.
java
В данном примере, даже после добавления элемента "D" в другом потоке во время итерации, итератор продолжит обход элементов "A", "B", "C", которые были в списке на момент его создания. Итератор не выбрасывает ConcurrentModificationException.