Junior — Middle
Kun je voorbeelden geven van collectieve datastructuren die threadveiligheid bieden?
sobes.tech AI
Antwoord van AI
In Java zijn er verschillende collecties die threadveiligheid bieden:
Vector— een thread-veilige versie vanArrayList, alle methoden zijn gesynchroniseerd.Hashtable— een thread-veilige versie vanHashMap.- Collecties uit het pakket
java.util.concurrent:ConcurrentHashMap— een hoogpresterende, thread-veilige hash-tabel.CopyOnWriteArrayList— een thread-veilige lijst, ideaal voor scenario's met frequente lezingen en zeldzame wijzigingen.BlockingQueueen zijn implementaties (LinkedBlockingQueue,ArrayBlockingQueue) — thread-veilige wachtrijen met blokkerende operaties.
Voorbeeld van gebruik van ConcurrentHashMap:
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
map.put("key", 1);
Integer value = map.get("key");
Deze structuren maken het mogelijk om veilig te werken met collecties uit meerdere threads zonder externe synchronisatie.