深挖CAS的底层实现
前言
代码层面,所有的锁在cpu层面都是一条条的指令,所有最终所有的锁,都要考底层指令的支持,CAS是代码层面比较常用的一种“无锁”,实际对应于cpu里面的几条指令,当然一个cpu有多个核下是如何解决锁的。在单核的时候,还可以通过关闭中断,来阻止操作系统调度。但是在多核的情况下,各个cpu是并行执行的,因此这个时候,就会出现,同时获取到锁的状态,而这个时候,通过禁止中断,是没有效果的,就需要引入一种机制实现多核本地缓存失效和内存全局的锁,涉及多级缓存的失效与同步,其实在计算机组成原理与操作系统里面有学的。