代码改变世界

java并发包学习:2.AbstractQueuedSynchronizer的实现简单分析(1)

2017-11-30 23:05 by 笔法春秋, 173 阅读, 0 推荐, 收藏, 编辑
摘要:首先,在AQS内部,维护了一个实现锁的一个基本数据结构: 解释下其中的几个状态 SIGNAL(-1) :线程的后继线程正/已被阻塞,当该线程release或cancel时要重新这个后继线程(unpark) CANCELLED(1):因为超时或中断,该线程已经被取消 CONDITION(-2):表明该 阅读全文

java并发包学习:1.ReentrantLock代码公平锁和非公平锁实现解析

2017-11-28 22:22 by 笔法春秋, 475 阅读, 0 推荐, 收藏, 编辑
摘要:java中ReentrantLock是一个功能比较简单的显式锁,也是一个比较好的学习java并发包的一个切入点,今天看了下ReentrantLock的代码,写个文章记录一下 先看一下ReentrantLock类的基本结构; ReentrantLock实现了Lock接口:Lock接口定义了以下api: 阅读全文