gpt4 book ai didi

java - "ConcurrentHashMap.putAll(...)"是原子的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:53 28 4
gpt4 key购买 nike

ConcurrentHashMap.putAll(Map) 方法应该是原子的吗?

我在文档中找不到它,ConcurrentMap 接口(interface)中也没有提到它,所以我猜答案是否定的。我要求它确定,因为老实说,如果该操作不是原子的,那将毫无意义。

如果它不是原子的,那么支持多个项目的原子插入的最佳方法是什么?回到美好的旧同步?

最佳答案

这不是原子的,不是。根据the class documentation :

For aggregate operations such as putAll and clear, concurrent retrievals may reflect insertion or removal of only some entries.

要使其原子化,您必须使用synchronized,是的。没有非阻塞的方法可以做到这一点。

关于java - "ConcurrentHashMap.putAll(...)"是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8513262/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com