From 80e81f811117478fd29451d3aeb692513f2624fd Mon Sep 17 00:00:00 2001 From: Cui YongXing <2835316714@qq.com> Date: Wed, 4 Sep 2024 23:30:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/server/service/impl/TaskInfoServiceImpl.java | 8 ++++++-- .../server/thread/OptimizedPrioritizedThreadPool.java | 9 +++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java index 0b22b4c..505747f 100644 --- a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java +++ b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java @@ -271,13 +271,17 @@ public class TaskInfoServiceImpl extends ServiceImpl i } if (Weight.urgency.getValue().equals(weight)){ log.info("执行紧急任务"); + // 调整线程分配以适应紧急任务 + adjustForEmergency(); for (long i = 1; i <= count; i++) { long pageNum = (i - 1) * 5000; - submitEmergencyTask(()->{ - //getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map); + submitEmergencyTask(()->{ + getString(pageNum, finalFieName, finalJoint,basicId,newBasicId,tableId,map); }); } + // 任务完成后恢复默认线程分配 + restoreDefaults(); } return null; } diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/thread/OptimizedPrioritizedThreadPool.java b/cloud-task-server/src/main/java/com/muyu/task/server/thread/OptimizedPrioritizedThreadPool.java index c9a6787..5bea95e 100644 --- a/cloud-task-server/src/main/java/com/muyu/task/server/thread/OptimizedPrioritizedThreadPool.java +++ b/cloud-task-server/src/main/java/com/muyu/task/server/thread/OptimizedPrioritizedThreadPool.java @@ -42,8 +42,6 @@ public class OptimizedPrioritizedThreadPool { } public static void submitEmergencyTask(Runnable task) { - // 调整线程分配以适应紧急任务 - adjustForEmergency(); try { emergencySemaphore.acquire(); @@ -52,8 +50,7 @@ public class OptimizedPrioritizedThreadPool { task.run(); } finally { emergencySemaphore.release(); - // 任务完成后恢复默认线程分配 - restoreDefaults(); + } }); } catch (InterruptedException e) { @@ -114,7 +111,7 @@ public class OptimizedPrioritizedThreadPool { } } - private static synchronized void adjustForEmergency() { + public static synchronized void adjustForEmergency() { // 仅在未处于紧急模式下调整线程分配 if (!inEmergencyMode) { inEmergencyMode = true; @@ -129,7 +126,7 @@ public class OptimizedPrioritizedThreadPool { } } - private static synchronized void restoreDefaults() { + public static synchronized void restoreDefaults() { // 检查是否处于紧急模式 if (inEmergencyMode) { // 清空紧急任务的许可