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

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010
  • SDSARG3

    SDSARG3

    14 Mart 2009