摘要: AQS:全称AbstractQueueSynchronizer,抽象队列同步器,这个类在java.util.concurrent.locks包下 它是一个底层同步工具类,比如CountDownLatch,Sammphore,ReentrantLock,ReentrantReadWriteLock等等 阅读全文
posted @ 2020-03-26 15:11 怀鑫 阅读(3416) 评论(0) 推荐(0) 编辑
摘要: java.util.concurrent.atomic包:原子类的小工具包,支持在单个变量上解除锁的线程安全编程 原子变量类相当于一种泛化的 volatile 变量,能够支持原子的和有条件的读-改-写操作。AtomicInteger 表示一个int类型的值,并提供了 get 和 set 方法,这些 阅读全文
posted @ 2020-03-26 14:25 怀鑫 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1.原子性:保证同一时刻该资源只能有一个线程访问修改,其他线程阻塞等待,例如Atomic包,锁 2.可见性:一个线程对于主内存的数据操作对于其他线程是可见的 3.有序性:一个线程观察其他线程中指令执行顺序,由于指令重排序存在,观察结果一般杂乱无序 原子性: 互斥访问,Atomic包,CAS算法,Sy 阅读全文
posted @ 2020-03-26 13:20 怀鑫 阅读(1274) 评论(0) 推荐(0) 编辑
摘要: CAS:Compare and Swap,即比较再交换。 1. Java内存模型:JMM(Java Memory Model) 在内存模型当中定义了一个主内存,所有声明的实例变量都存在于主内存当中,主内存的数据会共享给所有线程,每一个线程有一块工作内存,工作内存当中主内存数据的副本 当更新数据时,会 阅读全文
posted @ 2020-03-26 13:17 怀鑫 阅读(219) 评论(0) 推荐(0) 编辑