关于cas的意义

来源:9-6 CAS

weixin_慕慕8136048

2020-06-26

你好老师,请问cas其实就是一种原子操作的实现对吗,而自旋锁就是通过cas来确保一个变量的线程安全对吧?比如对共享变量value进行增加,先读到value当前值,再计算增加后的值,再把当前的共享变量的值与最早读到的值相比较,如果不同,返回false,线程发现对value的操作失败,就再循环尝试操作直到更改成功为止。请问老师这个思路对吗?

写回答

1回答

翔仔

2020-06-28

同学好,没错,确实就是这个思路哈

0
5
翔仔
回复
慕粉3169703
光凭这样的数据是不能下结论的,得看实际的场景,主要看冲突度,这里冲突度明显偏高,并且数据并不是很多,量也不大,这里的执行用时只能针对这个场景来讲,同步锁是有优势的。两种锁在不同场景下性能表现会不一样,当然,一般我们会把同步锁的粒度拆得很细来实现大多数业务场景,靠乐观锁的话,尤其是用户类的操作,会存在失败的可能,体验不好
2020-11-21
共5条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8442 学习 · 1872 问题

查看课程