Middle
Mely adatstruktúrák szinkronizáltak Java-ban, és melyek nem?
sobes.tech MI
Válasz az MI-től
Java-ban egyes adatszerkezetek szinkronizáltak (szálbiztosak), míg mások nem.
Szinkronizáltak:
Vector— szinkronizált megfelelője azArrayList-nak.Hashtable— szinkronizált megfelelője aHashMap-nak.Stack— örökli aVector-től, ezért szintén szinkronizált.- Gyűjtemények, amelyeket a
Collections.synchronizedList(),synchronizedMap()stb. csomagolnak. - A
java.util.concurrentcsomag osztályai, például aConcurrentHashMap,CopyOnWriteArrayList.
Nem szinkronizáltak:
ArrayListLinkedListHashMapHashSet
Ha nem szinkronizált gyűjteményt szeretne több szálas környezetben használni, akkor azt a Collections metódusaival szinkronizálttá teheti, vagy a java.util.concurrent speciális osztályait használhatja.
Példa:
List<String> list = Collections.synchronizedList(new ArrayList<>());