File tree Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -365,7 +365,7 @@ public void allowCoreThreadTimeOut(boolean value) {
365365
366366核心线程空闲时,其状态分为以下两种情况:
367367
368- - ** 设置了核心线程的存活时间** :核心线程在空闲时,会处于阻塞状态,等待获取任务。如果阻塞等待的时间超过了核心线程存活时间,则该核心线程会被销毁 。
368+ - ** 设置了核心线程的存活时间** :核心线程在空闲时,会处于阻塞状态,等待获取任务。如果阻塞等待的时间超过了核心线程存活时间,则该线程会退出工作,之后将该线程从线程池的工作线程集合中移除 。
369369- ** 没有设置核心线程的存活时间** :核心线程在空闲时,会一直处于阻塞状态,等待获取任务。
370370
371371#### 相关源码
@@ -376,7 +376,7 @@ public void allowCoreThreadTimeOut(boolean value) {
376376
377377在获取任务的时候,会根据 ` timed ` 值来决定从任务队列( ` BlockingQueue ` )获取任务的行为。
378378
379- 如果「设置了核心线程的存活时间」或者「线程数量超过了核心线程数量」,则将 ` timed ` 标记为 ` true ` :
379+ 如果「设置了核心线程的存活时间」或者「线程数量超过了核心线程数量」,则将 ` timed ` 标记为 ` true ` ,表明获取任务时需要使用 ` poll() ` 指定超时时间,如果获取超时,则当前线程线程会退出线程池。
380380
381381- ` timed == true ` :使用 ` poll() ` 来获取任务。` poll() ` 方法会指定获取任务的等待时间,如果到达等待时间之后,还没有获取到任务,则会返回 ` null ` 。
382382- ` timed == false ` :使用 ` take() ` 来获取任务。` take() ` 方法是 ` BlockingQueue ` 中的阻塞方法,调用之后,线程会进入等待状态,直到从队列中获取任务。
You can’t perform that action at this time.
0 commit comments