繁体   English   中英

ConcurrentHashMap compute() 方法线程安全吗?

[英]Is ConcurrentHashMap compute() method thread safe?

concurrentHashMapInstance.compute("Name", (key, val) -> {
     modifyValWithComplexLogic(val); 
     return val;
});

关于valmodifyValWithComplexLogic(val) (和整个compute方法)线程安全吗?

总之,是的,但你仍然需要小心。

ConcurrentHashMap#compute在即将更新的节点上synchronized的块中运行重新映射 function,因此,如果重新映射 function 本身可能在另一个资源上存在问题,并且您自己在多个键上调用它而不是同步它假设ConcurrentHashMap会为你做这件事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM