修改bug

master
Cui YongXing 2024-09-04 23:30:16 +08:00
parent 5c9a72973e
commit 80e81f8111
2 changed files with 9 additions and 8 deletions

View File

@ -271,13 +271,17 @@ public class TaskInfoServiceImpl extends ServiceImpl<TaskInfoMapper, TaskInfo> i
} }
if (Weight.urgency.getValue().equals(weight)){ if (Weight.urgency.getValue().equals(weight)){
log.info("执行紧急任务"); log.info("执行紧急任务");
// 调整线程分配以适应紧急任务
adjustForEmergency();
for (long i = 1; i <= count; i++) { for (long i = 1; i <= count; i++) {
long pageNum = (i - 1) * 5000; 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; return null;
} }

View File

@ -42,8 +42,6 @@ public class OptimizedPrioritizedThreadPool {
} }
public static void submitEmergencyTask(Runnable task) { public static void submitEmergencyTask(Runnable task) {
// 调整线程分配以适应紧急任务
adjustForEmergency();
try { try {
emergencySemaphore.acquire(); emergencySemaphore.acquire();
@ -52,8 +50,7 @@ public class OptimizedPrioritizedThreadPool {
task.run(); task.run();
} finally { } finally {
emergencySemaphore.release(); emergencySemaphore.release();
// 任务完成后恢复默认线程分配
restoreDefaults();
} }
}); });
} catch (InterruptedException e) { } catch (InterruptedException e) {
@ -114,7 +111,7 @@ public class OptimizedPrioritizedThreadPool {
} }
} }
private static synchronized void adjustForEmergency() { public static synchronized void adjustForEmergency() {
// 仅在未处于紧急模式下调整线程分配 // 仅在未处于紧急模式下调整线程分配
if (!inEmergencyMode) { if (!inEmergencyMode) {
inEmergencyMode = true; inEmergencyMode = true;
@ -129,7 +126,7 @@ public class OptimizedPrioritizedThreadPool {
} }
} }
private static synchronized void restoreDefaults() { public static synchronized void restoreDefaults() {
// 检查是否处于紧急模式 // 检查是否处于紧急模式
if (inEmergencyMode) { if (inEmergencyMode) {
// 清空紧急任务的许可 // 清空紧急任务的许可