JAVA常用面试题简单整理(持续完善)
1 CAS
比较并交换,在硬件CPU层面的指令是lock cmpxchg,lock的含义是通过锁住内存总线或者通过CPU的缓存一致性机制锁住CPU缓存。cmpxchg涉及三个参数:内存中已有的数、要比较的数和要更新的目标数, 含义是内存中已有的值和和要比较的值进行比较,如果相等则将内存值更新为要更新的目标数,并返回更新后的值,否则不更新内存值,直接返回内存值。通过lock操作给总线或者缓存加锁在硬件层面保证了这个指令在多核并发情况下的原子性。 一句话总结下:这个指令在硬件层面实现了对内存字“读改写”操作.
原创
2020-06-07 15:48:14 ·
142 阅读 ·
0 评论