From 7a15fff979972234d5f3a79b114e11d4742f7edf Mon Sep 17 00:00:00 2001 From: qianshijiang <1965297290@qq.com> Date: Tue, 13 Jan 2026 15:14:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/util/asyncTask/AsyncLatchUtils.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/asyncTask/AsyncLatchUtils.java b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/asyncTask/AsyncLatchUtils.java index 30837df7..25d4f235 100644 --- a/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/asyncTask/AsyncLatchUtils.java +++ b/zt-framework/zt-common/src/main/java/com/zt/plat/framework/common/util/asyncTask/AsyncLatchUtils.java @@ -9,7 +9,7 @@ import java.util.concurrent.*; * 多次提交,一次等待 */ public class AsyncLatchUtils { - private static final ThreadLocal> THREADLOCAL = ThreadLocal.withInitial(LinkedList::new); + private static final ThreadLocal> THREAD_LOCAL = ThreadLocal.withInitial(LinkedList::new); /** * 提交一个异步任务 @@ -17,7 +17,7 @@ public class AsyncLatchUtils { * @param runnable 需要异步执行的具体业务逻辑 */ public static void submitTask(Executor executor, Runnable runnable) { - THREADLOCAL.get().add(new TaskInfo(executor, runnable)); + THREAD_LOCAL.get().add(new TaskInfo(executor, runnable)); } /** @@ -25,8 +25,8 @@ public class AsyncLatchUtils { * @return */ private static List popTask() { - List taskInfos = THREADLOCAL.get(); - THREADLOCAL.remove(); + List taskInfos = THREAD_LOCAL.get(); + THREAD_LOCAL.remove(); return taskInfos; } @@ -39,7 +39,7 @@ public class AsyncLatchUtils { */ public static boolean waitFor(long timeout, TimeUnit timeUnit) { List taskInfos = popTask(); - if (taskInfos.isEmpty()) { + if (taskInfos.isEmpty()) { return true; } CountDownLatch latch = new CountDownLatch(taskInfos.size()); @@ -57,8 +57,11 @@ public class AsyncLatchUtils { boolean await = false; try { await = latch.await(timeout, timeUnit); - } catch (Exception ignored) {} - return await; + } catch (Exception ignored) { + // 恢复中断状态 + Thread.currentThread().interrupt(); + } + return await; } private static final class TaskInfo {