Sobes.tech
Middle

Java'da hangi veri yapıları senkronize edilmiştir ve hangileri edilmemiştir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da bazı veri yapıları senkronized (iş parçacığı güvenli), bazıları ise değil.

Senkronize edilenler:

  • VectorArrayList'in senkronize edilmiş karşılığı.
  • HashtableHashMap'in senkronize edilmiş karşılığı.
  • StackVector'dan kalıtım aldığı için o da senkronized.
  • Collections.synchronizedList(), synchronizedMap() vb. ile sarmalanmış koleksiyonlar.
  • java.util.concurrent paketinden sınıflar, örneğin ConcurrentHashMap, CopyOnWriteArrayList.

Senkronize edilmeyenler:

  • ArrayList
  • LinkedList
  • HashMap
  • HashSet

Çok iş parçacıklı ortamda senkronize edilmemiş bir koleksiyon kullanmanız gerekiyorsa, onu Collections metodlarıyla sarmalayabilir veya java.util.concurrent'den özel sınıflar kullanabilirsiniz.

Örnek:

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