Middle
Welche Datenstrukturen in Java sind synchronisiert und welche nicht?
sobes.tech KI
Antwort von AI
In Java sind einige Datenstrukturen synchronisiert (thread-sicher), andere nicht.
Synchronisierte:
Vector— synchronisierte Version vonArrayList.Hashtable— synchronisierte Version vonHashMap.Stack— erbt vonVector, daher ebenfalls synchronisiert.- Sammlungen, die mit
Collections.synchronizedList(),synchronizedMap()usw. eingebunden sind. - Klassen aus dem Paket
java.util.concurrent, z.B.ConcurrentHashMap,CopyOnWriteArrayList.
Nicht synchronisierte:
ArrayListLinkedListHashMapHashSet
Wenn Sie eine nicht synchronisierte Sammlung in einer Multithread-Umgebung verwenden möchten, können Sie sie mit Hilfe von Methoden aus Collections synchronisieren oder spezielle Klassen aus java.util.concurrent verwenden.
Beispiel:
List<String> list = Collections.synchronizedList(new ArrayList<>());