Hashtable vs Concurrenthashmap


Antwort 1:

Wenn Sie von sicher sprechen, dann ist es ja threadsicher für Multithread-Anwendungen und auch für normale Anwendungen. Wenn Sie jedoch das Multithreading-Konzept verwenden möchten, verwenden Sie am besten ConcurrentHashmap anstelle von Hashtable.

Unter wenigen Gründen müssen Sie ConcurrentHashmap verwenden. wann?:

  • sicher in einem gleichzeitigen Java-Programm mit mehreren Threads verwendet
  • Es kann sicher in der gleichzeitigen Multithread-Umgebung verwendet werden, bietet jedoch auch eine bessere Leistung gegenüber Hashtable und synchronizedMap.
  • ConcurrentHashMap ist am besten geeignet, wenn Sie mehrere Leser und wenige Autoren haben. Wenn die Anzahl der Schreiber höher ist als der des Lesers oder der Schreiber gleich dem Leser ist, reduziert sich die Leistung von ConcurrentHashMap effektiv auf die synchronisierte Karte oder Hashtable.

Warum ist ConcurrentHashmap besser?

  • ConcurrentHashMap bietet eine bessere Leistung als die beiden vorherigen (Hashtable und synchronizedMap), da nur ein Teil der Karte anstelle der gesamten Karte gesperrt wird, was bei Hashtable und synchronisierter Karte der Fall ist.