Чтобы ответить на мой собственный вопрос, обсуждается сила гарантии согласованности, предоставляемая итераторами в списке рассылки по интересам параллелизма здесь .
Автор ConcurrentHashMap и ConcurrentSkipListMap, Дуг Ли, , похоже, согласен , что гарантия совсем не является гарантией, а в случае ConcurrentHashMap итератор может сообщить, что карта в состоянии, которое никогда не было
на самом деле в.
Для любопытных источник ConcurrentSkipListMap, в частности его внутренний класс Iter (iterator), равен здесь .
Итератор в ConcurrentSkipListMap итерирует обычные узлы в списке пропуска, и эти узлы связаны с использованием изменчивых ссылок. Может случиться так, что это несколько запутанное утверждение JavaDoc на самом деле [просто] ссылается на гарантию «произойдет раньше». то есть изменения, внесенные другими потоками до создания итератора, будут просто видны потоку, управляющему итерацией.