Встречается на 2% собеседований по Java

Приведи примеры потокобезопасных коллекций

В Java есть несколько потокобезопасных коллекций из пакета java.util.concurrent:

  1. ConcurrentHashMap – потокобезопасная версия HashMap:
java
Map<String, Integer> map = new ConcurrentHashMap<>();
map.put("key", 1);
  1. CopyOnWriteArrayList – потокобезопасный ArrayList с копированием при изменении:
java
List<String> list = new CopyOnWriteArrayList<>();
list.add("item");
  1. ConcurrentLinkedQueue – потокобезопасная очередь на основе связанного списка:
java
Queue<String> queue = new ConcurrentLinkedQueue<>();
queue.offer("element");
  1. BlockingQueue (и реализации типа ArrayBlockingQueue, LinkedBlockingQueue) – блокирующие очереди:
java
BlockingQueue<String> bq = new ArrayBlockingQueue<>(10);
bq.put("value");

Эти коллекции используют разные механизмы синхронизации (CAS, блокировки, копирование), обеспечивая безопасность в многопоточной среде. Выбор зависит от конкретного сценария использования.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы