Мне нужен HashMap, доступный из нескольких потоков.
Существует два простых варианта: использование обычного HashMap и синхронизация на нем или использование ConcurrentHashMap.
Поскольку ConcurrentHashMap не блокируетсяна операциях чтения он кажется гораздо лучше подходящим для моих нужд (почти исключительно чтение, почти никогда не обновляется).С другой стороны, я ожидаю очень низкий уровень параллелизма в любом случае, поэтому не должно быть никаких блокировок (только стоимость управления блокировкой).
Карта также будет очень маленькой (до десяти записей), если это делаетразница.
По сравнению с обычным HashMap, насколько дороже операции чтения и записи (я полагаю, что они есть)?Или ConcurrentHashMap всегда лучше, когда возможен даже умеренный уровень одновременного доступа, независимо от отношения чтения / обновления и размера?