Explique ce qu'est ConcurrentHashMap et comment elle assure la sécurité lors de l'accès parallèle aux données.
Réponse de l'IA
sobes.tech IA
ConcurrentHashMap — это потокобезопасная реализация интерфейса Map в Java, предназначенная для эффективной работы в многопоточной среде. В отличие от обычного HashMap, который не синхронизирован, ConcurrentHashMap позволяет нескольким потокам одновременно читать и изменять карту без блокировки всей структуры.
Безопасность при параллельном доступе достигается за счет внутреннего разделения карты на сегменты или использование современных механизмов синхронизации (в новых версиях Java используется CAS — compare-and-swap и другие оптимизации). Это позволяет блокировать только отдельные части карты при записи, а чтение происходит без блокировок, что повышает производительность.
Пример использования:
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
map.put("key1", 1);
int value = map.get("key1");
В этом примере несколько потоков могут безопасно вызывать put и get одновременно без риска получить неконсистентные данные или исключения.