From d6eca60aadc7def1b7aa4aad41ef17280846bb60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?11=E6=9D=A5=E4=BA=86?= Date: Sun, 29 Dec 2024 21:00:31 +0800 Subject: [PATCH] =?UTF-8?q?[docs=20update]=E6=A0=B8=E5=BF=83=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E7=A9=BA=E9=97=B2=E6=97=B6=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/concurrent/java-concurrent-questions-03.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/java/concurrent/java-concurrent-questions-03.md b/docs/java/concurrent/java-concurrent-questions-03.md index f9334ed8..9d2317ea 100644 --- a/docs/java/concurrent/java-concurrent-questions-03.md +++ b/docs/java/concurrent/java-concurrent-questions-03.md @@ -365,7 +365,7 @@ public void allowCoreThreadTimeOut(boolean value) { 核心线程空闲时,其状态分为以下两种情况: -- **设置了核心线程的存活时间** :核心线程在空闲时,会处于阻塞状态,等待获取任务。如果阻塞等待的时间超过了核心线程存活时间,则该核心线程会被销毁。 +- **设置了核心线程的存活时间** :核心线程在空闲时,会处于阻塞状态,等待获取任务。如果阻塞等待的时间超过了核心线程存活时间,则该线程会退出工作,之后将该线程从线程池的工作线程集合中移除。 - **没有设置核心线程的存活时间** :核心线程在空闲时,会一直处于阻塞状态,等待获取任务。 #### 相关源码 @@ -376,7 +376,7 @@ public void allowCoreThreadTimeOut(boolean value) { 在获取任务的时候,会根据 `timed` 值来决定从任务队列( `BlockingQueue` )获取任务的行为。 -如果「设置了核心线程的存活时间」或者「线程数量超过了核心线程数量」,则将 `timed` 标记为 `true` : +如果「设置了核心线程的存活时间」或者「线程数量超过了核心线程数量」,则将 `timed` 标记为 `true` ,表明获取任务时需要使用 `poll()` 指定超时时间,如果获取超时,则当前线程线程会退出线程池。 - `timed == true` :使用 `poll()` 来获取任务。`poll()` 方法会指定获取任务的等待时间,如果到达等待时间之后,还没有获取到任务,则会返回 `null`。 - `timed == false` :使用 `take()` 来获取任务。`take()` 方法是 `BlockingQueue` 中的阻塞方法,调用之后,线程会进入等待状态,直到从队列中获取任务。