java原子操作的原理 cas

来源:互联网 发布:技术总监 知乎 编辑:程序博客网 时间:2024/05/20 19:45

⑴处理器实现原子操作的机制:

第一机制:总线锁(声言Lock信号)

第二机制共享缓存锁(修改内存地址,缓存一致性机制:阻止同时修改由2个以上的处理器缓存的内存区域数据)。

⑵JAVA实现原子操作的机制

第一个是循环CAS:JVM中的CAS操纵是利用了处理器提供的CMPXCHG指令实现的。自旋CAS的基本思路是循环进行CAS操作,直到CAS操作成功了为止。

⑶使用锁机制实现原子操作

锁机制保证只有获得锁的线程才能够操作锁定的内存区域。注意:除了重量级锁,JVM实现锁的方式都用了循环CAS操作(使用循环CAS获取锁,使用循环CAS释放锁)。

原创粉丝点击