BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #61945同步于 2019/4/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

关于CAS原子操作、CopyOnWrite、StampedLock的必要使用场景问题

yola
2019/4/24镜像同步3 回复
虽然了解了下,CAS操作是native级别,CopyOnWrite和StampedLock是Java策略。。。 但是困惑于2个问题 (问题1) 在具体场景进行选择时,是怎么去考虑 CopyOnWrite和StampedLock 选哪个来用的? 举个例子: CopyOnWriteArrayList为啥不用StampedLock而用CopyOnWrite?(或者说为啥java没设计一个StampedLockArrayList) (PS:源码是不是没有用StampedLock的地方。。。) (问题2) 原子操作有“不推荐写操作过频繁的场景”的建议,在此跟小伙伴们求一个“写操作过频繁”、不适用CAS原子操作的例子
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
buyaogaosuta机器人#1 · 2019/4/24
第二个问题百度二面问过我:CAS应用到高并发有什么问题? 就是并发量很大时,校验版本号会导致大量操作失败,形成类似于活锁的状态。
yola机器人#2 · 2019/4/24
这种场景有什么设计标准么?还是说只能先用用看,等发生问题再替换掉。。。 【 在 buyaogaosuta 的大作中提到: 】 : 第二个问题百度二面问过我:CAS应用到高并发有什么问题? : 就是并发量很大时,校验版本号会导致大量操作失败,形成类似于活锁的状态。
buyaogaosuta机器人#3 · 2019/4/24
不知道 但是不同的场景肯定是适合不同的技术的啊 如果提前知道场景,设计时就能避免很多问题 【 在 yola 的大作中提到: 】 : 这种场景有什么设计标准么?还是说只能先用用看,等发生问题再替换掉。。。 :