From 513569e50d89811a72f4ae6602dd8a27db07c215 Mon Sep 17 00:00:00 2001 From: dlaren Date: Thu, 14 Aug 2025 16:07:51 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=20?= =?UTF-8?q?=E9=98=B2=E5=91=86=EF=BC=9A=E9=98=BB=E6=AD=A2=E5=90=8C=E4=B8=80?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=AD=98=E5=9C=A8=E4=B8=A4=E4=B8=AAws?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pc/exam/pp/module/judgement/service/TaskManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/service/TaskManager.java b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/service/TaskManager.java index b6e891b6..013ee6e3 100644 --- a/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/service/TaskManager.java +++ b/exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/service/TaskManager.java @@ -28,6 +28,11 @@ public class TaskManager { /** 开始任务(每秒执行一次) */ public void startTask(StuInTheExam stuInTheExam, StuTheExamInfo stuTheExamInfo, String token, AtomicInteger countdown, AtomicInteger counter) { + // 判断 token 的线程是否存在,存在则不进行任何动作 + if (tasks.containsKey(token)) { + log.info("任务 {} 已存在,未重复启动", token); + return; + } tasks.computeIfAbsent(token, k -> { Runnable task = safe(() -> { int current = counter.incrementAndGet();