From daa1a1303a7bc5045d9349d7f315abf89b8ebeb6 Mon Sep 17 00:00:00 2001 From: ChiYuHang_1998 <42369809+joycn2018@users.noreply.github.com> Date: Tue, 5 Aug 2025 20:51:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA=E5=B8=A6=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=9A=84=20poll(timeout,=20unit)=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E8=AF=AF=E8=A7=A3=E5=92=8C=E6=B7=B7?= =?UTF-8?q?=E6=B7=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 无参 poll() 会立即从队列中取元素,如果队列为空,直接返回 null(不阻塞); 带超时参数的 poll(timeout, unit):在指定时间内等待队列有元素可用。如果超时仍未获取到元素,则返回 null。 建议这里增加参数,避免初学者对阻塞队列的poll()方法有误列 --- docs/java/concurrent/java-concurrent-questions-03.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/concurrent/java-concurrent-questions-03.md b/docs/java/concurrent/java-concurrent-questions-03.md index dc8dc62e979..f0e255d14ab 100644 --- a/docs/java/concurrent/java-concurrent-questions-03.md +++ b/docs/java/concurrent/java-concurrent-questions-03.md @@ -399,7 +399,7 @@ public void allowCoreThreadTimeOut(boolean value) { 如果「设置了核心线程的存活时间」或者「线程数量超过了核心线程数量」,则将 `timed` 标记为 `true` ,表明获取任务时需要使用 `poll()` 指定超时时间。 -- `timed == true` :使用 `poll()` 来获取任务。使用 `poll()` 方法获取任务超时的话,则当前线程会退出执行( `TERMINATED` ),该线程从线程池中被移除。 +- `timed == true` :使用 `poll(timeout, unit)` 来获取任务。使用 `poll(timeout, unit)` 方法获取任务超时的话,则当前线程会退出执行( `TERMINATED` ),该线程从线程池中被移除。 - `timed == false` :使用 `take()` 来获取任务。使用 `take()` 方法获取任务会让当前线程一直阻塞等待(`WAITING`)。 源码如下:

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