AQS 框架简介
AQS(Abstract Queued Synchronizer)抽象队列同步框架。
比如,ReentrantLock、ReentrantReadWriteLock、Semaphore、CountDownLatch、ThreadPoolExcutor(JDK 1.8),这些类的底层原理都是AQS(工具类)。
详情可查看:JAVA 线程池ThreadPoolExecutor及核心参数
作用:使用AQS 可以极大的减少上层代码量,避免重复造轮子,同时避免处线程安全的问题。
对于ReentrantLock、ThreadPoolExcutor等线程协作工具类而言,如果能把这些类的类似工作的代码给提取出来,变成一个底层工具类的话,就可以重复使用这个工具类来构建上层代码了,而这个工具类其实就是 AQS。
功能:线程的原子性管理、线程的阻塞与解除阻塞、队列的管理。