Middle
Kuras Java datu struktūras ir sinhronizētas un kuras nav?
sobes.tech AI
Atbilde no AI
Java dažās datu struktūras ir sinhronizētas (darbības drošas vairāku pavedienu vidū), bet citas — nē.
Sinhronizētas:
Vector— sinhronizētsArrayListekvivalents.Hashtable— sinhronizētsHashMapekvivalents.Stack— manto noVector, tāpēc arī ir sinhronizēts.- Kolekcijas, kas ietītas ar
Collections.synchronizedList(),synchronizedMap()u.c. - Klases no
java.util.concurrentpakotnes, piemēram,ConcurrentHashMap,CopyOnWriteArrayList.
Nesinhronizētas:
ArrayListLinkedListHashMapHashSet
Ja vēlaties izmantot nesinhronizētu kolekciju daudzprocesu vidē, to var ietīt sinhronizētā versijā ar Collections metodēm vai izmantot specializētas java.util.concurrent klases.
Piemērs:
List<String> list = Collections.synchronizedList(new ArrayList<>());