Я читаю книгу Java Concurrecny на практике. На странице 85 в разделе 5.2.1 говорится о ConcurrentHashMap и его преимуществах. Однако в одной части книги утверждается, что
итераторы, возвращаемые ConcurrentHashMap, слабо согласованы. Это означает, что этот итератор может допускать одновременную модификацию, обходить элементы в том виде, в каком они существовали на момент создания итератора, и может (но не обязательно) отражать изменения в коллекции после создания итератора.
Из того, почему я понимаю, что весь смысл синхронизации в параллельных программах заключается в том, чтобы разрешить потоку доступ к общему ресурсу согласованным образом, тогда как ConcurrentHashMap на самом деле не выполняет этого. Тогда зачем вообще его использовать?