Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9891bac

Browse files
update
1 parent 2365b49 commit 9891bac

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

‎Rocket.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,8 @@ AQS有两个队列,同步对列和条件队列。同步队列依赖一个双
532532
3. SynchronousQueue:本身不带有空间来存储任何元素,使用上可以选择公平模式和非公平模式。
533533
4. PriorityBlockingQueue:无界队列,基于数组,数据结构为二叉堆,数组第一个也是树的根节点总是最小值。
534534

535+
举例 ArrayBlockingQueue 实现并发同步的原理:原理就是读操作和写操作都需要获取到 AQS 独占锁才能进行操作。如果队列为空,这个时候读操作的线程进入到读线程队列排队,等待写线程写入新的元素,然后唤醒读线程队列的第一个等待线程。如果队列已满,这个时候写操作的线程进入到写线程队列排队,等待读线程将队列元素移除腾出空间,然后唤醒写线程队列的第一个等待线程。
536+
535537
### 线程池的拒绝策略
536538

537539
1. ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /