SORU
4 ŞUBAT 2009, ÇARŞAMBA


'ConcurrentHashMap ve Koleksiyonları arasındaki fark ne.synchronizedMap(Göster)?

Birden çok iş parçacığı tarafından aynı anda değiştirilecek olan bir Harita var.

Java API içinde üç farklı senkronize Harita uygulamaları gibi görünüyor

  • Hashtable
  • Collections.synchronizedMap(Map)
  • ConcurrentHashMap

Anladığım kadarıyla Hashtable sonraki Map arayüzü uyacak şekilde adapte edilmiş eski bir uygulama (Dictionary eski sınıfını genişletme),. Bu süresenkronize, 10* *ciddi gibi görünüyor ve yeni projeler için önerilmez.

Peki ya diğer ikisi? Ne Haritalar Collections.synchronizedMap(Map) ConcurrentHashMaps tarafından döndürülen arasındaki farklar? Hangisi hangi duruma uyuyor?

CEVAP
4 ŞUBAT 2009, ÇARŞAMBA


İhtiyaçlarınız için, ConcurrentHashMap kullanın. Onları engellemek için gerek kalmadan birden çok iş parçacığı Haritanın eşzamanlı değişiklik sağlar. Collections.synchronizedMap(map) performans, tutarlılık, eğer düzgün kullanılırsa) sağlamak da olsa düşer engelleyici bir Harita oluşturur.

Eğer veri tutarlılığı sağlamak için gerekirse ikinci seçeneği kullanın ve her bir iplik haritanın güncel bir görünüm olması gerekir. Eğer performans önemli ise, ilk kullanım ve her iş parçacığı okur daha az sıklıkta oluyor ile haritaya veri ekler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • SignatureSeries

    SignatureSer

    24 Aralık 2006
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006