高并发编程-07-JDK提供的原子类操作及原理
2018-01-13 09:18
399 查看
1,原子类介绍:针对数据类型的操作,JDK提供的原子类来方便我们的线程安全控制。所有的类保存在 java.util.concurrent.atomic 包中基本数据类型 AtomicInteger数组类型 AtomicIntegerArray2,举个使用的例子:解决之前的 i++ 安全性问题如何解决?AtomicInteger count = new AtomicInteger(0);count.incrementAndGet();//相当于count++,区别是这里可以保证是原子操作3,原理:内部的原理是采用了CAS机制,大家可以通过观察源码就可以发现那么什么是CAS机制?CAS有人翻译为Compare And Set或Compare And Swap都是正确的。在多线程并发执行的状态下,锁的状态改变,基本都是使用CAS原理,它有一个比较别扭的叫法“CPU硬件同步原语”,算法是基于CPU硬件的,原子性操作,不会被其他线程打断。CAS的算法,比较当前值和期望的值是否相等,如果相等,则将当前值赋予一个新值。再比如修改一个Boolean的类型的变量的值,我们也可以采用private AtomicBoolean atomicBoolean = new AtomicBoolean(false);public void lock(){ //期望是false,如果是false,则可以修改为true atomicBoolean.compareAndSet(false, true);}
相关文章推荐
- JDK提供的原子类原理与使用
- 聊聊并发(五)——原子操作的实现原理
- 实战Java高并发程序设计-07原子操作
- 聊聊并发(五)——原子操作的实现原理
- 聊聊并发(五)原子操作的实现原理
- 聊聊并发(五)——原子操作的实现原理
- Java编发编程之原子操作与CAS原理分析
- Java 并发 ---原子操作的实现原理
- Java并发机制底层——原子操作的实现原理
- 并发编程之原子操作
- Java多线程编程--(6)学习Java5.0 并发编程包--原子操作的一些类型
- 聊聊并发(五)——原子操作的实现原理
- 聊聊并发(五)原子操作的实现原理
- 聊聊并发(5):原子操作的实现原理
- 顺序性,一致性,原子性:现代多核体系结构与原子操作·CAS与自旋锁·自旋锁与并发编程的原语·语句原子性和编程逻辑的原子性·行锁与数据库事务原子性·binlog与数据库同
- Java 并发编程笔记——使用循环cas实现原子操作
- 聊聊并发(五)――原子操作的实现原理
- java多线程-专题-聊聊并发(五)原子操作的实现原理
- 聊聊并发(五)——原子操作的实现原理
- 聊聊并发(五)原子操作的实现原理