首页 > 编程知识 正文

cas和锁的区别,cas底层原理

时间:2023-05-03 22:17:41 阅读:129241 作者:1045

1.cas (比较更换)、无锁定算法。 当多个线程尝试使用CAS同时更新同一变量时,只有一个线程可以更新变量值,而所有其他线程都将失败。 失败的线程不是挂起,而是被告知在这次竞争中失败,可以再次尝试。

2.CAS算法包括三个操作数

a .需要读写的内存位置(v ) )。

b .拟进行比较的原始值(a ) ) ) )。

c .要写入的新值(b )。

3 .如果内存位置v的值与预期的原始值a匹配,则处理器会自动将该位置的值更新为新值b。 否则,处理器什么都不做。

java多线程总结篇4——锁定机制

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。