AtomicReferenceFieldUpdater怀疑

| 我正在创建一个适合我的concurrnetHashtable,它与并发HashMap几乎没有什么不同,并且我正在使用AtomicReferenceFieldUpdater进行CASNext操作(通常支持CAS,但是我们也可以执行CASNext),所以我走的路正确吗?尽管通常在并发HashTable中我可以获得比锁定哈希表更好的性能,但是有时候事情没有解决。 所以我得出以下结论: 如果可用处理器的数量大于哈希表中可用的存储桶的数量,则获得锁争用的可能性更高,因此在这种情况下,并发哈希表将比锁方法更好地工作,当然,如果读取量很大(日记说85- 90%的阅读操作),那么很好用.. 所以请建议我,我走的路是正确的,并且假设正确吗? 如果您有时间,请在此页代码上查看代码 在此哈希表中,如果元素尚不存在,我正在执行插入操作... 因此,请告诉我这是否是正确的无锁方法?     
已邀请:
这不是一个直接的答案,但是如果您想改善CHM,请查看Cliff博士撰写的文章。单击:此处 除此之外,在不知道您要解决的问题的情况下很难提供帮助。     
在并发哈希图中,需要担心3个主要操作:添加元素,删除元素并重新哈希 仅使用CaS就可以轻松删除和添加它 但是,重新哈希处理将引入左右竞争,这可能会导致数据丢失,某些操作看不见元素,无限循环,并且很难做到这一点,并且在整个表上使用r / w锁要容易得多     

要回复问题请先登录注册