From 5fa93b9d7b73046abb812fcb72107dce3ae909c9 Mon Sep 17 00:00:00 2001 From: Cui YongXing <2835316714@qq.com> Date: Sat, 7 Sep 2024 19:21:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BB=E6=89=BE=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/common/domian/basic/BasicTask.java | 4 ++-- .../basic/abstracts/DataTaskAbstracts.java | 8 ++++---- .../domian/basic/abstracts/DataTaskHandler.java | 6 +++--- .../abstracts/DataTaskHandlerRowHandler.java | 16 ++++++++++++++++ .../basic/abstracts/DataTaskValueHandler.java | 17 +++++++++++++++++ .../thread/OptimizedPrioritizedThreadPool.java | 16 ++++++++-------- 6 files changed, 50 insertions(+), 17 deletions(-) create mode 100644 cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandlerRowHandler.java create mode 100644 cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskValueHandler.java diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/BasicTask.java b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/BasicTask.java index 8eac89e..c2775b5 100644 --- a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/BasicTask.java +++ b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/BasicTask.java @@ -3,8 +3,8 @@ package com.muyu.common.domian.basic; import com.muyu.common.domain.DataValue; import com.muyu.common.domian.basic.abstracts.DataTaskHandler; -public interface BasicTask { - void set(Long dataValue); +public interface BasicTask { + void set(T dataValue); T get(); diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskAbstracts.java b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskAbstracts.java index ceb8ff8..2de7e13 100644 --- a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskAbstracts.java +++ b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskAbstracts.java @@ -6,12 +6,12 @@ public abstract class DataTaskAbstracts implements BasicTask { @Override - public void set(Long taskId) { - DataTaskHandler.set(taskId); + public void set(Object dataValue) { + } @Override - public T get() { - return DataTaskHandler.get(); + public Object get() { + return null; } } diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandler.java b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandler.java index d889a4d..6356d07 100644 --- a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandler.java +++ b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandler.java @@ -3,10 +3,10 @@ package com.muyu.common.domian.basic.abstracts; import com.muyu.common.domain.DataValue; public class DataTaskHandler { - private static final ThreadLocal threadLocal = new ThreadLocal<>(); + private static final ThreadLocal threadLocal = new ThreadLocal<>(); - public static void set(final Long taskId) { - threadLocal.set(taskId); + public static void set(final Object dataValue) { + threadLocal.set(dataValue); } public static T get() { diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandlerRowHandler.java b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandlerRowHandler.java new file mode 100644 index 0000000..de3466e --- /dev/null +++ b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskHandlerRowHandler.java @@ -0,0 +1,16 @@ +package com.muyu.common.domian.basic.abstracts; + +import com.muyu.common.domain.DataValue; + +public class DataTaskHandlerRowHandler { + public DataTaskHandlerRowHandler() { + } + + public static void set(DataValue[] dataValue) { + DataTaskHandler.set(dataValue); + } + + public static DataValue[] get() { + return (DataValue[])DataTaskHandler.get(); + } +} diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskValueHandler.java b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskValueHandler.java new file mode 100644 index 0000000..a28bf4b --- /dev/null +++ b/cloud-task-common/src/main/java/com/muyu/common/domian/basic/abstracts/DataTaskValueHandler.java @@ -0,0 +1,17 @@ +package com.muyu.common.domian.basic.abstracts; + +import com.muyu.common.domain.DataValue; + +public class DataTaskValueHandler { + public DataTaskValueHandler() { + } + + public static void set(DataValue dataValue) { + DataTaskHandler.set(dataValue); + } + + public static DataValue get() { + return (DataValue)DataTaskHandler.get(); + } + +} 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 2cabe48..230269e 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 @@ -11,15 +11,15 @@ public class OptimizedPrioritizedThreadPool { private static final Semaphore lowPrioritySemaphore; private static final Semaphore emergencySemaphore; - private static final int totalThreads =10; // 固定线程池大小 - private static final int defaultHighThreads = 5; - private static final int defaultMediumThreads = 3; - private static final int defaultLowThreads = 2; + private static final int totalThreads =20; // 固定线程池大小 + private static final int defaultHighThreads = 10; + private static final int defaultMediumThreads = 6; + private static final int defaultLowThreads = 4; - private static final int emergencyThreads = 4; - private static final int emergencyHighThreads = 2; - private static final int emergencyMediumThreads = 1; - private static final int emergencyLowThreads = 1; + private static final int emergencyThreads = 9; + private static final int emergencyHighThreads = 3; + private static final int emergencyMediumThreads = 3; + private static final int emergencyLowThreads = 3; private static volatile boolean inEmergencyMode = false; public static final AtomicInteger activeEmergencyTasks = new AtomicInteger(0); // 紧急任务计数器