一、队列
1、Sync queue 、Condition queue
2、使用Node实现FIFO队列,可以用于构建锁或者其他同步装置的基础框架
3、利用了一个int类型表示状态
4、使用方法是继承
5、子类通过继承并通过实现它的方法管理其状态{acquire 和release}的方法操纵状态
6、可以同时实现排他锁和共享锁模式(独占、共享)
二、AQS 同步组件
1、CountDownLatch
2、Semaphore
信号量 控制操作某个资源并发线程的个数
3、CyclicBarrier
多个线程相互等待 等待到了某个值
4、ReentrantLock
5、Condition
6、FutureTask
三、CountDownLatch 和 CyclicBarrier 的区别
四、ReentrantLock 与锁
1、 可重入性
2、锁的实现
3、性能的区别
4、功能的区别
5、ReentrantLock 独有的功能
- 可指定是公平锁还是非公平锁
- 提供了一个Condition类,可以分组唤醒需要唤醒的线程
- 提供能够中断等待的线程的机制,lock.lockInterruptibly()
五、FutureTask
1、Callable 与Runnable 接口对比
2、Future 接口
3、FutureTask 类
六 Fork/Join框架
1、双端队列
2、充分利用线程
3、线程一重队列头部拿任务,当线程二执行完自己的任务从队列一的尾部拿任务。