Sobes.tech
Middle

Millised andmestruktuurid Java-s on sünkroniseeritud ja millised mitte?

sobes.tech AI

Vastus AI-lt

Java-s on mõned andmestruktuurid sünkroniseeritud (tõrkeohutud), teised mitte.

Sünkroniseeritud:

  • Vector — sünkroniseeritud ArrayList ekvivalent.
  • Hashtable — sünkroniseeritud HashMap ekvivalent.
  • Stack — pärib Vector-ilt, seega on ka sünkroniseeritud.
  • Kogumid, mis on pakitud läbi Collections.synchronizedList(), synchronizedMap() jms.
  • Klassid java.util.concurrent paketist, näiteks ConcurrentHashMap, CopyOnWriteArrayList.

Sünkroniseerimata:

  • ArrayList
  • LinkedList
  • HashMap
  • HashSet

Kui soovite kasutada sünkroniseerimata kogumit mitme niidiga keskkonnas, saate selle pakendada sünkroniseeritud versiooniks Collections meetodite abil või kasutada spetsialiseeritud klasse java.util.concurrent paketist.

Näide:

List<String> list = Collections.synchronizedList(new ArrayList<>());