Gregg Wonderly wrote:
On 2/8/2011 10:51 AM, Patricia Shanahan wrote:
There are some negatives to using CHM compared to wrapping a HashMap in a
synchronized map. It is easy to write methods for compound operations such as
removing a key-value pair if, and only if, some other key is present.

Yes, this is true. If we do need some compound operations, then it would be necessary to add a lock to synchronize on, and then everything else referencing the structure would need to be synchronized since CHM uses internal locking which does not involve synchronized(this).

Or switch implementations if there is a problem with the initial choice. If the code uses the Map interface, implemented by both CHM and a synchronized map wrapping a HashMap, it should just be a matter of changing the initialization expression.

Patricia

Reply via email to