AbstractQueuedSynchronizer主要是通过同步状态、FIFO同步队列实现同步队列。
可以通过继承方式实现共享锁和独占锁
acquire获取独占锁
release释放独占锁
acquireShared共享式获得锁
releaseShared共享锁释放
doAcquireNanos独占超时获得锁
http://blog.csdn.net/pfnie/article/details/53191892非常好的解析原文
https://www.jianshu.com/p/dbe18cea28e7
http://www.cnblogs.com/micrari/p/6937995.html
基于AQS构建的Synchronizer包括ReentrantLock,Semaphore,CountDownLatch, ReetrantRead WriteLock,FutureTask等,这些Synchronizer实际上最基本的东西就是原子状态的获取和释放,只是条件不一样而已。
condition详解http://blog.csdn.net/prestigeding/article/details/53158246