- 博客(1)
- 收藏
- 关注
原创 谈一谈Java中的CAS
1、什么是CAS?CAS,compare and swap,即比较并且交换,是在一种无锁的状态下保证多个线程对一个值进行更新的。2、CAS是如何对值进行更改的?我们来看一张流程图:首先在你要更改一个值的时候,它会先获取这个值的当前值进行记录(A),然后在你更改了之后,会对这个值最新的值进行获取(C),比较现在的值和你最初获取的值是不是相同,如果相同的话,就把想要更改的结果赋值给这个值,不同的话,则说明有其他线程进行了更改,赋值就会失败。但是,就算赋值是成功的,也不代表这个值没有别的线程进行过更改
2021-05-12 16:45:02
438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人