现在,我想自动更新这2个条目,以避免读取不正确的对。
所以现在我正在考虑它,不知道简单的解决方案。
我可以用ReadWriteLock块包装get / put方法,但这感觉很不对:)我没有使用ConcurrentHashMap来编写其他锁。
其他选项是将这些属性合并为一个。现在,我倾向于这种选择。
其他选择是在值对象中具有版本,但是我每次都需要检查它,而我不想这样做:)
这个问题还有其他解决方法吗?
致谢
答案 0 :(得分:2)
您不能自动更新多个条目。您有两种选择:
使用简单的HashMap
进行外部同步。
对Map
值使用不同的类型,这将必须一起考虑的一对项目。
答案 1 :(得分:1)
我认为,您可以使用其他方式,而无需使用ConcurrentHashMap.
如果要添加诸如操作优先级之类的提示。例如:先更新操作,然后再获取操作,您可以使用PriorityBlockingQueue
,例如:HashSet
来存储对象而无需重复。然后,您可以确定您的实际属性是最新的。