Um... synchronizing on the map (or equivalent) is worse, as it locks everyone out for every read, where this does not.  I'm not sure how what you said makes sense at all.  And if I don't lock on the whole aroudn the read, I get the unsave "get()" operation you, yourself, critiqued in an earlier version.

I may be misreading your review, but you seem to nearly be reversing your position entirely.  That seems odd, so I suspect I am misunderstanding - but when I posited a read/write lock above, you said, and I quote, "Yup, that's perfect." 

Que?