首页 > 图灵资讯 > java面试题>正文

金三银四精选java面试题-什么是CAS?

2024-01-02 13:14:48

 

什么是CAS?

CAS叫做CompareAndSwap,比较并交换,主要是通过处理器的指令来保证操作的原子性的。

CAS 操作包含三个参数:共享变量的内存地址(V)、预期原值(A)和新值(B),当且仅当内存地址 V 的值等于 A 时,才将 V 的值修改为 B;否则,不会执行任何操作。

在多线程场景下,使用 CAS 操作可以确保多个线程同时修改某个变量时,只有一个线程能够成功修改。其他线程需要重试或者等待。这样就避免了传统锁机制中的锁竞争和死锁等问题,提高了系统的并发性能。


 
上一篇 金三银四精选java面试题-ReentrantLock怎么实现公平锁的?
下一篇 金三银四精选java面试题-CAS存在什么问题?如何解决?

文章素材均来源于网络,如有侵权,请联系管理员删除。