❓ Как работает ConcurrentHashMap?
ConcurrentHashMap использует сегментирование / распространённые блокировки (в новых версиях — на уровне бакета), что позволяет нескольким потокам читать и писать без полной блокировки карты. Операции get делаются без блокировки, put и remove используют ограниченную блокировку (или CAS) лишь на отдельных сегментах или узлах.
В отличие от Collections.synchronizedMap(...), который блокирует весь объект на каждую операцию, ConcurrentHashMap даёт более высокую конкурентность и масштабируемость.
🐸 Библиотека собеса по Java
#concurrency
Post #1087
4.43K
- 👍 13
- 🔥 2
- ❤ 1
- 👏 1