это отрыв от JavaDoc относительно ConcurrentHashMap
. Он говорит, что операции поиска обычно не блокируются, поэтому могут перекрываться с операциями обновления. Означает ли это, что метод get()
не является потокобезопасным?
"Однако, несмотря на то, что все операции являются потокобезопасными, поиск операции не влечет за собой блокировку, и нет никакой поддержки для блокируя всю таблицу таким образом, чтобы предотвратить весь доступ. Этот класс полностью совместим с Hashtable в программах, которые полагаются на безопасности потока, но не по деталям синхронизации.
Операции поиска (включая get) обычно не блокируются, поэтому могут перекрываются с операциями обновления (включая put и remove). извлечения отражают результаты последних завершенных операций обновления удерживая их наступление".