摘要: 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内 阅读全文
posted @ 2018-04-30 19:41 zeroingToOne 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 一、Java当中CAS的底层实现首先看看AtomicInteger的源码,AtomicInteger中常用的自增方法 incrementAndGet: 这段代码是一个无限循环,也就是CAS的自旋。循环体当中做了三件事:1.获取当前值。2.当前值+1,计算出目标值。3.进行CAS操作,如果成功则跳出循 阅读全文
posted @ 2018-04-30 19:39 zeroingToOne 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 先看一段代码:启动两个线程,每个线程中让静态变量count循环累加100次。 几次不同的运行结果: 因为这段代码不是线程安全,所以最终的自增结果很可能会小于200.方法一:加上synchronized同步锁 (通过使用"类名.class"这个方式返回一个Class类型的对象,即获取一个类的“类对象” 阅读全文
posted @ 2018-04-30 19:39 zeroingToOne 阅读(849) 评论(1) 推荐(0) 编辑