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

  • Dive In

    Dive In

    17 Temmuz 2013
  • Phymec

    Phymec

    18 Temmuz 2009
  • TechBalance

    TechBalance

    12 HAZİRAN 2011