我正在创建一个适合我的 concurrnetHashtable,与 concurrentHashMap 几乎没有什么不同,我正在使用 AtomicReferenceFieldUpdater 进行 CASNext 操作(通常支持 CAS,但我们也可以执行 CASNext),所以我走的是正确的道路吗?虽然通常我在这个 concurrentHashTable 中获得比锁定哈希表更好的性能,但有时事情并没有解决。
所以我得出以下结论:
如果可用处理器的数量大于哈希表中可用的存储桶数量,则发生锁争用的可能性更高,因此在这种情况下,concurrentHashTable 将比锁定方法工作得更好,当然,如果阅读量很大(期刊说 85- 90%的阅读操作),那么它很好用..所以请建议我,我是否走在正确的道路上,并且假设事情正确?
如果您有时间,请查看此页面上的代码代码
在此哈希表中,如果元素尚不存在,我将进行插入...所以请告诉我这是否是正确的无锁方法?
问问题
325 次