寻找报错
parent
cb9d0107ae
commit
5fa93b9d7b
|
@ -3,8 +3,8 @@ package com.muyu.common.domian.basic;
|
||||||
import com.muyu.common.domain.DataValue;
|
import com.muyu.common.domain.DataValue;
|
||||||
import com.muyu.common.domian.basic.abstracts.DataTaskHandler;
|
import com.muyu.common.domian.basic.abstracts.DataTaskHandler;
|
||||||
|
|
||||||
public interface BasicTask {
|
public interface BasicTask<T> {
|
||||||
void set(Long dataValue);
|
void set(T dataValue);
|
||||||
|
|
||||||
<T> T get();
|
<T> T get();
|
||||||
|
|
||||||
|
|
|
@ -6,12 +6,12 @@ public abstract class DataTaskAbstracts implements BasicTask {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(Long taskId) {
|
public void set(Object dataValue) {
|
||||||
DataTaskHandler.set(taskId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> T get() {
|
public Object get() {
|
||||||
return DataTaskHandler.get();
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,10 +3,10 @@ package com.muyu.common.domian.basic.abstracts;
|
||||||
import com.muyu.common.domain.DataValue;
|
import com.muyu.common.domain.DataValue;
|
||||||
|
|
||||||
public class DataTaskHandler {
|
public class DataTaskHandler {
|
||||||
private static final ThreadLocal<Long> threadLocal = new ThreadLocal<>();
|
private static final ThreadLocal<Object> threadLocal = new ThreadLocal<>();
|
||||||
|
|
||||||
public static void set(final Long taskId) {
|
public static void set(final Object dataValue) {
|
||||||
threadLocal.set(taskId);
|
threadLocal.set(dataValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> T get() {
|
public static <T> T get() {
|
||||||
|
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -11,15 +11,15 @@ public class OptimizedPrioritizedThreadPool {
|
||||||
private static final Semaphore lowPrioritySemaphore;
|
private static final Semaphore lowPrioritySemaphore;
|
||||||
private static final Semaphore emergencySemaphore;
|
private static final Semaphore emergencySemaphore;
|
||||||
|
|
||||||
private static final int totalThreads =10; // 固定线程池大小
|
private static final int totalThreads =20; // 固定线程池大小
|
||||||
private static final int defaultHighThreads = 5;
|
private static final int defaultHighThreads = 10;
|
||||||
private static final int defaultMediumThreads = 3;
|
private static final int defaultMediumThreads = 6;
|
||||||
private static final int defaultLowThreads = 2;
|
private static final int defaultLowThreads = 4;
|
||||||
|
|
||||||
private static final int emergencyThreads = 4;
|
private static final int emergencyThreads = 9;
|
||||||
private static final int emergencyHighThreads = 2;
|
private static final int emergencyHighThreads = 3;
|
||||||
private static final int emergencyMediumThreads = 1;
|
private static final int emergencyMediumThreads = 3;
|
||||||
private static final int emergencyLowThreads = 1;
|
private static final int emergencyLowThreads = 3;
|
||||||
|
|
||||||
private static volatile boolean inEmergencyMode = false;
|
private static volatile boolean inEmergencyMode = false;
|
||||||
public static final AtomicInteger activeEmergencyTasks = new AtomicInteger(0); // 紧急任务计数器
|
public static final AtomicInteger activeEmergencyTasks = new AtomicInteger(0); // 紧急任务计数器
|
||||||
|
|
Loading…
Reference in New Issue