[concurrency-interest] ConcurrentHashMap and null keys
gregg at cytetech.com
Mon Apr 23 15:48:02 EDT 2007
I'm going though some classloader related code that currently uses a HashMap and
'synchronized'. This code has to make use of null keys because it uses return
values from 'Thread.getContextClassLoader()' and 'ClassLoader.getParent()' as
real contexts to deal with. These values, can be null. Currently
ConcurrentHashMap doesn't support null keys. I'd like to create less locking in
some of this code by removing unnecessary synchronized use. It's policy related
code paths, so they are very frequently traveled execution paths in server
software where multiple threads with different policies will be active.
What are good choices for managing this 'null' key issue? Should I establish a
'NULL' value for the times when the key is null?
More information about the Concurrency-interest