Middle
Které datové struktury v Java jsou synchronizované a které nejsou?
sobes.tech AI
Odpověď od AI
V Javě jsou některé datové struktury synchronizované (vlákno-bezpečné), jiné ne.
Synchronizované:
Vector— synchronizovaný ekvivalentArrayList.Hashtable— synchronizovaný ekvivalentHashMap.Stack— dědí zVector, takže je také synchronizovaný.- Kolekce obalené pomocí
Collections.synchronizedList(),synchronizedMap()atd. - Třídy z balíčku
java.util.concurrent, napříkladConcurrentHashMap,CopyOnWriteArrayList.
Nesynchronizované:
ArrayListLinkedListHashMapHashSet
Pokud potřebujete použít nesynchronizovanou kolekci v prostředí s více vlákny, můžete ji obalit do synchronizované pomocí metod z Collections nebo použít specializované třídy z java.util.concurrent.
Příklad:
List<String> list = Collections.synchronizedList(new ArrayList<>());