java - synchrozie get method from map? -
in order synchrozie map method use
myobj = mymap.get("aaa"); if (myobj==null) synchronize (someobject){ myobj = mymap.get("aaa"); if (myobj==null){ myobj = createnew(); mymap.put(myobj); } } return myobj;
is besdt way. asking null condition twice?
synchronizing get
isn't useful. get
not change state of map. have synchronize put
(with same object monitor). , can use collections.synchronizedmap(..)
or concurrenthashmap
that
update: get & put
can use concurrenthashmap.putifabsent(..)
Comments
Post a Comment