From b54c7268cf8610d6838dfe4451034216dcd0feda Mon Sep 17 00:00:00 2001 From: cliveyuan <33131649+cliveyuan@users.noreply.github.com> Date: Wed, 9 Mar 2022 13:35:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E5=88=AB=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/cs-basics/data-structure/线性数据结构.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cs-basics/data-structure/线性数据结构.md b/docs/cs-basics/data-structure/线性数据结构.md index 17a61ddc..5a55d496 100644 --- a/docs/cs-basics/data-structure/线性数据结构.md +++ b/docs/cs-basics/data-structure/线性数据结构.md @@ -311,6 +311,6 @@ myStack.pop();//报错:java.lang.IllegalArgumentException: Stack is empty. - **阻塞队列:** 阻塞队列可以看成在队列基础上加了阻塞操作的队列。当队列为空的时候,出队操作阻塞,当队列满的时候,入队操作阻塞。使用阻塞队列我们可以很容易实现“生产者 - 消费者“模型。 - **线程池中的请求/任务队列:** 线程池中没有空闲线程时,新的任务请求线程资源时,线程池该如何处理呢?答案是将这些请求放在队列中,当有空闲线程的时候,会循环中反复从队列中获取任务来执行。队列分为无界队列(基于链表)和有界队列(基于数组)。无界队列的特点就是可以一直入列,除非系统资源耗尽,比如 :`FixedThreadPool` 使用无界队列 `LinkedBlockingQueue`。但是有界队列就不一样了,当队列满的话后面再有任务/请求就会拒绝,在 Java 中的体现就是会抛出`java.util.concurrent.RejectedExecutionException` 异常。 - Linux 内核进程队列(按优先级排队) -- 现实生活中的派对,播放器上的播放列表; +- 现实生活中的排队,播放器上的播放列表; - 消息队列 - 等等......