Назад к вопросам
Junior — Middle
66
Какой потокобезопасный контейнер наиболее подходит для операций преимущественного чтения?
Ответ от нейросети
sobes.tech AI
Для операций преимущественного чтения в Java наиболее подходит класс CopyOnWriteArrayList из пакета java.util.concurrent.
Этот потокобезопасный контейнер реализует стратегию копирования массива при каждой операции записи, что делает чтение очень быстрым и не блокирующим, так как чтения работают с неизменяемой копией данных.
Пример использования:
import java.util.concurrent.CopyOnWriteArrayList;
CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
list.add("элемент1");
list.add("элемент2");
// Множество потоков могут безопасно читать список без блокировок
for (String item : list) {
System.out.println(item);
}
// Запись (добавление) создаст копию массива
list.add("элемент3");
Таким образом, CopyOnWriteArrayList оптимален, когда операций чтения значительно больше, чем операций записи.