栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在春季服务类中使用ConcurentHashMap和AtomicInteger作为实例变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在春季服务类中使用ConcurentHashMap和AtomicInteger作为实例变量

我的目的不是要回答这个问题,特别是。因为我没有多方面的专业知识;但是,我想指出我认为值得注意的地方。

@JB Nizet在评论之一中提到该代码是 线程安全的正确的 。我想根据Java
API参考
添加但
不一致


检索操作(包括获取)通常不会阻塞,因此可能与更新操作(包括放置和删除)重叠

这意味着 当前正在 运行某些更新时,可能会有一个客户端获取此信息。而且,这很有意义,因为您在代码中提到了“循环”。因此,如果这对您而言 并不
重要,那么一切都应该很好。

但是,如果您需要对此进行更严格的规定,我在想也许使用的实例

ReentrantReadWriteLock
将是一个不错的选择。该锁使您的代码可以阻止所有读取请求,直到对可用信息有
一致的 快照为止。您可能会使用
getCount
方法上的锁来严格阻止,直到
add
方法释放所有锁,以等待代码中使用的映射的一致快照为止。

我也有一个猜测,当您将其迁移到集群解决方案时,同样的担忧是有效的。如果需要在不同群集节点之间 保持一致性 ,则应注意这一点。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号