From d9fa921fda05fd5cb4a1118fe57d3d737c159c7c Mon Sep 17 00:00:00 2001 From: qianshijiang <1965297290@qq.com> Date: Thu, 13 Nov 2025 14:59:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=82=E6=AD=A5=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/asyncTask/AsyncLatchUtils.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 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 c6d50164..30837df7 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 @@ -81,36 +81,40 @@ public class AsyncLatchUtils { System.out.println("主流程开始,准备分发异步任务..."); + System.out.println("主线程id:" + Thread.currentThread().getId()); // 2. 提交多个异步任务 // 任务一:获取用户信息 AsyncLatchUtils.submitTask(executorService, () -> { - try { + try { + System.out.println("任务一子线程id:" + Thread.currentThread().getId()); System.out.println("开始获取用户信息..."); Thread.sleep(1000); // 模拟耗时 System.out.println("获取用户信息成功!"); - } catch (InterruptedException e) { + } catch (InterruptedException e) { Thread.currentThread().interrupt(); } }); // 任务二:获取订单信息 AsyncLatchUtils.submitTask(executorService, () -> { - try { + try { + System.out.println("任务二子线程id:" + Thread.currentThread().getId()); System.out.println("开始获取订单信息..."); Thread.sleep(1500); // 模拟耗时 System.out.println("获取订单信息成功!"); - } catch (InterruptedException e) { + } catch (InterruptedException e) { Thread.currentThread().interrupt(); } }); // 任务三:获取商品信息 AsyncLatchUtils.submitTask(executorService, () -> { - try { + try { + System.out.println("任务三子线程id:" + Thread.currentThread().getId()); System.out.println("开始获取商品信息..."); Thread.sleep(500); // 模拟耗时 System.out.println("获取商品信息成功!"); - } catch (InterruptedException e) { + } catch (InterruptedException e) { Thread.currentThread().interrupt(); } }); @@ -118,12 +122,12 @@ public class AsyncLatchUtils { System.out.println("所有异步任务已提交,主线程开始等待..."); // 3. 等待所有任务完成,最长等待5秒 - boolean allTasksCompleted = AsyncLatchUtils.waitFor(5, TimeUnit.SECONDS); + boolean allTasksCompleted = AsyncLatchUtils.waitFor(5, TimeUnit.SECONDS); // 4. 根据等待结果继续主流程 if (allTasksCompleted) { System.out.println("所有异步任务执行成功,主流程继续..."); - } else { + } else { System.err.println("有任务执行超时,主流程中断!"); }