Junior — Middle
Můžeš uvést příklady kolekčních datových struktur zajišťujících bezpečnost vláken?
sobes.tech AI
Odpověď od AI
V Javě existuje několik kolekcí, které zajišťují bezpečnost při práci s více vlákny:
Vector— vlákno-bezpečný ekvivalentArrayList, všechny metody jsou synchronizované.Hashtable— vlákno-bezpečný ekvivalentHashMap.- Kolekce z balíčku
java.util.concurrent:ConcurrentHashMap— vysoce výkonná, vlákno-bezpečná hash tabulka.CopyOnWriteArrayList— vlákno-bezpečný seznam, ideální pro scénáře s častým čtením a vzácnými změnami.BlockingQueuea její implementace (LinkedBlockingQueue,ArrayBlockingQueue) — vlákno-bezpečné fronty s blokujícími operacemi.
Příklad použití ConcurrentHashMap:
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
map.put("key", 1);
Integer value = map.get("key");
Tyto struktury umožňují bezpečně pracovat s kolekcemi z více vláken bez nutnosti externí synchronizace.