Security trainee

Какие потокобезопасные коллекции есть в java.util.concurrent?

Ответ

ConcurrentHashMap — потокобезопасная HashMap. Не блокирует чтение, на запись — синхронизация по бакету. CopyOnWriteArrayList — копирует весь массив при записи, lock-free на чтение, хороша при редких записях и частых чтениях.

Разбор: ConcurrentHashMap не блокирует чтение и синхронизирует запись на уровне бакета/узла, а CopyOnWriteArrayList копирует весь массив при каждой записи и потому хороша при редких записях и частых чтениях. Vector и Hashtable живут в java.util, а не в java.util.concurrent, и блокируют весь объект. ConcurrentHashMap не допускает null, а её итераторы слабосогласованы, а не снимочные.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться