Junior — Middle
Можеш ли да дадеш примери за колекционни структури от данни, които осигуряват безопасност при работа с нишки?
sobes.tech AI
Отговор от AI
В Java има няколко колекции, които осигуряват потокобезопасност:
Vector— потокобезопасен аналог наArrayList, всички методи са синхронизирани.Hashtable— потокобезопасен аналог наHashMap.- Колекции от пакета
java.util.concurrent:ConcurrentHashMap— високопроизводителна потокобезопасна хеш таблица.CopyOnWriteArrayList— потокобезопасен списък, оптимален за сценарии с чести четения и редки промени.BlockingQueueи неговите реализации (LinkedBlockingQueue,ArrayBlockingQueue) — потокобезопасни опашки с блокиращи операции.
Пример за използване на ConcurrentHashMap:
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
map.put("key", 1);
Integer value = map.get("key");
Тези структури позволяват безопасна работа с колекции от няколко потока без външна синхронизация.