From 2ec15770334e07e60900acfa6fc4b3358fe374ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Sun, 8 Sep 2024 12:01:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BA=BF=E7=A8=8B=E6=B1=A0?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/quest/manager/TaskManager.java | 18 +++++++++++++++--- .../quest/service/impl/TaskServiceImpl.java | 3 ++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/manager/TaskManager.java b/muyu-quest-server/src/main/java/com/muyu/quest/manager/TaskManager.java index 3891c28..a99ef83 100644 --- a/muyu-quest-server/src/main/java/com/muyu/quest/manager/TaskManager.java +++ b/muyu-quest-server/src/main/java/com/muyu/quest/manager/TaskManager.java @@ -104,12 +104,22 @@ public final class TaskManager { workThrads[i].stopWorker(); workThrads[i] = null; } - endTime = System.currentTimeMillis(); - log.info("线程池关闭,工作时长:{}ms", endTime - startTime); taskManager=null; taskQueue.clear();// 清空任务队列 } + // 任务完成后,统计线程池的运行情况 + public void closed() { + while (!getIsRunning()) {// 如果还有任务没执行完成,就先睡会吧 + try { + sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + log.info("任务完成,线程状态: {}",this.toString()); + } + // 返回工作线程的个数 public int getWorkThreadNumber() { return workerNum; @@ -136,8 +146,10 @@ public final class TaskManager { // 覆盖toString方法,返回线程池信息:工作线程个数和已完成任务个数 @Override public String toString() { + endTime = System.currentTimeMillis(); return "工作任务数:" + workerNum + ",已完成任务数:" - + finishedTask + ",等待任务数:" + getWaitTasknumber(); + + finishedTask + ",等待任务数:" + getWaitTasknumber() + + "线程池作时长:"+(endTime - startTime)+"ms"; } /** diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java index 87b2e75..c79737c 100644 --- a/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java +++ b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java @@ -197,7 +197,8 @@ public class TaskServiceImpl extends ServiceImpl taskExportService.updateByExportCode(entity); }); } - taskManager.destroy(); + taskManager.closed(); + taskManager = null; return "执行成功"; }