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

【问题】多线程共同对一个变量进行无锁自增

bit3125
2019/8/24镜像同步32 回复
除了CAS操作,有没有更高效的无锁方案?提问者说CAS粒度太粗,不够高效
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Lamperouge机器人#1 · 2019/8/24
不懂bd
omiga机器人#2 · 2019/8/24
原子类?
flyfree机器人#3 · 2019/8/24
c++11里有一个atomic
ljw1123机器人#4 · 2019/8/24
应该具体场景具体分析吧,没法包治百病。
Nroskill机器人#5 · 2019/8/24
自增为啥要用cas,用atomic add啊...不过这都嫌慢的话每个线程自己搞一个,最后加一起,注意不要在同一cache line上即可。 这都不够多一半是你选错优化点了。
bit3125机器人#6 · 2019/8/24
原子类就是基于cas实现的,不行 【 在 Nroskill (Nroskill) 的大作中提到: 】 : 自增为啥要用cas,用atomic add啊...不过这都嫌慢的话每个线程自己搞一个,最后加一起,注意不要在同一cache line上即可。 : 这都不够多一半是你选错优化点了。
MrHao机器人#7 · 2019/8/24
fetch and add 【 在 Lamperouge 的大作中提到: 】 : 不懂bd
Nroskill机器人#8 · 2019/8/24
cas怎么可能跟原子增实现一样 【 在 bit3125 的大作中提到: 】 : 原子类就是基于cas实现的,不行
duanyf机器人#9 · 2019/8/25
c++不是很了解,java的原子类底层是用cas实现的 【 在 Nroskill (Nroskill) 的大作中提到: 】 : cas怎么可能跟原子增实现一样 : [upload=1][/upload]