1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-29 06:41:32 +08:00

Add:目录

This commit is contained in:
SnailClimb 2018-12-12 21:45:56 +08:00 committed by GitHub
parent d89fc9f885
commit 5d8a473987
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,10 +1,33 @@
> 常见问题AQS原理;CountDownLatch和CyclicBarrier了解吗,两者的区别是什么用过Semaphore吗 > 常见问题AQS原理;CountDownLatch和CyclicBarrier了解吗,两者的区别是什么用过Semaphore吗
**本节思维导图:** **本节思维导图:**
![并发编程面试必备AQS 原理以及 AQS 同步组件总结](http://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-10-31/61115865.jpg) ![并发编程面试必备AQS 原理以及 AQS 同步组件总结](http://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-10-31/61115865.jpg)
<!-- MarkdownTOC -->
- [1 AQS 简单介绍](#1-aqs-简单介绍)
- [2 AQS 原理](#2-aqs-原理)
- [2.1 AQS 原理概览](#21-aqs-原理概览)
- [2.2 AQS 对资源的共享方式](#22-aqs-对资源的共享方式)
- [2.3 AQS底层使用了模板方法模式](#23-aqs底层使用了模板方法模式)
- [3 Semaphore\(信号量\)-允许多个线程同时访问](#3-semaphore信号量-允许多个线程同时访问)
- [4 CountDownLatch (倒计时器)](#4-countdownlatch-(倒计时器))
- [4.1 CountDownLatch 的三种典型用法](#41-countdownlatch-的三种典型用法)
- [4.2 CountDownLatch 的使用示例](#42-countdownlatch-的使用示例)
- [4.3 CountDownLatch 的不足](#43-countdownlatch-的不足)
- [4.4 CountDownLatch相常见面试题](#44-countdownlatch相常见面试题)
- [5 CyclicBarrier\(循环栅栏\)](#5-cyclicbarrier循环栅栏)
- [5.1 CyclicBarrier 的应用场景](#51-cyclicbarrier-的应用场景)
- [5.2 CyclicBarrier 的使用示例](#52-cyclicbarrier-的使用示例)
- [5.3 CyclicBarrier和CountDownLatch的区别](#53-cyclicbarrier和countdownlatch的区别)
- [6 ReentrantLock 和 ReentrantReadWriteLock](#6-reentrantlock-和-reentrantreadwritelock)
<!-- /MarkdownTOC -->
### 1 AQS 简单介绍 ### 1 AQS 简单介绍
AQS的全称为AbstractQueuedSynchronizer这个类在java.util.concurrent.locks包下面。 AQS的全称为AbstractQueuedSynchronizer这个类在java.util.concurrent.locks包下面。