AQS 核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制 AQS 是用 CLH 队列锁实现的,即将暂时获取不到锁的线程加入到队列中
AQS 定义两种资源共享方式
1.Exclusive(独占):只有一个线程能执行,如 ReentrantLock。又可分为公平锁和非公平锁
2.Share(共享):多个线程可同时执行
AQS 核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制 AQS 是用 CLH 队列锁实现的,即将暂时获取不到锁的线程加入到队列中
AQS 定义两种资源共享方式
1.Exclusive(独占):只有一个线程能执行,如 ReentrantLock。又可分为公平锁和非公平锁
2.Share(共享):多个线程可同时执行