竹笋

首页 » 问答 » 问答 » 面试必问的CAS,那ABA如何解决
TUhjnbcbe - 2023/4/1 5:36:00

面试官:小王你简历上说熟悉多线程高并发嘛,那我问你ABA如何解决?

小王:啊?什么是ABA嘛,小王摸了摸头,ABA我还真不知道是什么东西,好像没有听说过。

面试官:那好吧!那我们聊聊CAS,你简单讲一下CAS是什么?

小王:CAS是“比较交换”的,它需要有3个操作就是:内存地址V、旧的阈值A和即将要更新的目标值B。

面试官:行吧!那今天面试就到这里吧,你先回去三天左右有通知。

在Java并发,首先最熟悉的是synchronized关键字,但synchronized属于重量级锁,很多时候会引起性能的问题。很多人会想到volatile也是个不错的选择呀,但大家应该知道volatile是不保证原子性的,只能在某些场合下使用。

什么是CAS

在JDK新增的锁里头,CAS大量的运用,大家有时间可以跟踪源码看看。CAS全称叫

1
查看完整版本: 面试必问的CAS,那ABA如何解决