[英]Is ConcurrentHashMap compute() method thread safe?
concurrentHashMapInstance.compute("Name", (key, val) -> {
modifyValWithComplexLogic(val);
return val;
});
关于val
的modifyValWithComplexLogic(val)
(和整个compute
方法)线程安全吗?
总之,是的,但你仍然需要小心。
ConcurrentHashMap#compute
在即将更新的节点上synchronized
的块中运行重新映射 function,因此,如果重新映射 function 本身可能在另一个资源上存在问题,并且您自己在多个键上调用它而不是同步它假设ConcurrentHashMap
会为你做这件事。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.