HashMap Vs ConcurrentHashMap
Thread -Safe | ConcurrentHashMap is thread-safe that is the code can be accessed by single thread at a time. | HashMap is not thread-safe. |
Synchronization Method | ConcurrentHashMap synchronizes or locks on the certain portion of the Map. To optimize the performance of ConcurrentHashMap, Map is divided into different partitions depending upon the Concurrency level. So that we do not need to synchronize the whole Map Object. | HashMap can be synchronized by using synchronizedMap(HashMap) method. By using this method we get a HashMap object which is equivalent to the HashTable object. So every modification is performed on Map is locked on Map object. |
Null Key | ConcurrentHashMap does not allow NULL values i.e. key cannot be null. | While In HashMap there can only be one null key. |
Performance | In multiple threaded environments HashMap is usually faster than ConcurrentHashMap. As only single thread can access the certain portion of the Map and thus reducing the performance. | Because any number of threads can access the HashMap at the same time. |
No comments:
Post a Comment