diff --git a/src/main/java/com/hivekion/room/bean/AbtParentTask.java b/src/main/java/com/hivekion/room/bean/AbtParentTask.java index c9f8982..1b40ad7 100644 --- a/src/main/java/com/hivekion/room/bean/AbtParentTask.java +++ b/src/main/java/com/hivekion/room/bean/AbtParentTask.java @@ -27,16 +27,14 @@ import org.springframework.web.reactive.function.client.WebClient; public abstract class AbtParentTask implements TaskAction { - protected final AtomicLong duringTime = new AtomicLong(0); - protected final ScheduledExecutorService schedule = Executors.newScheduledThreadPool( - 1); - protected ScheduledFuture scheduledFuture; + + //任务数据 protected final ScenarioTask scenarioTask; protected final String roomId; protected WebClient webClient = WebClient.create(); - ThreadPoolExecutor executor = new ThreadPoolExecutor( + protected ThreadPoolExecutor executor = new ThreadPoolExecutor( 5, // 核心线程数 10, // 最大线程数 60L, // 空闲线程存活时间 @@ -52,20 +50,8 @@ public abstract class AbtParentTask implements TaskAction { } - protected void start() { - scheduledFuture = schedule.scheduleAtFixedRate(() -> { - ScenarioWsParam scenarioWsParam = Global.roomParamMap.get( - scenarioTask.getScenarioId() + "_" + roomId); - if (scenarioWsParam == null) { - duringTime.getAndSet(1); - } else { - duringTime.getAndSet(scenarioWsParam.getMag()); - } - }, 0, 1, TimeUnit.SECONDS); - } - protected abstract void finished(); protected abstract void setMag(int mag); @@ -85,13 +71,9 @@ public abstract class AbtParentTask implements TaskAction { return scenarioTask.getTaskType(); } - public void cancelAllTask() { - if (scheduledFuture != null) { - scheduledFuture.cancel(true); - } - } - protected abstract void business(); + + } // 自定义线程工厂 diff --git a/src/main/java/com/hivekion/room/bean/BattleRootTask.java b/src/main/java/com/hivekion/room/bean/BattleRootTask.java index e18d277..6f515c9 100644 --- a/src/main/java/com/hivekion/room/bean/BattleRootTask.java +++ b/src/main/java/com/hivekion/room/bean/BattleRootTask.java @@ -23,14 +23,8 @@ public class BattleRootTask extends AbtParentTask { public void doSomeThing() { //会知道想定ID, resourceId; } - //固定间隔执行 - @Override - protected void business() { - // Global.roomParamMap.get(scenarioTask.getScenarioId() + "," + this.roomId); 可以获取当前想定的步长 - //战斗需要消耗弹药 按时间消耗,30秒 - //人员消耗 - //可能会产生需求,保障需求 - } + + @Override diff --git a/src/main/java/com/hivekion/room/bean/MoveRootTask.java b/src/main/java/com/hivekion/room/bean/MoveRootTask.java index 317f49d..e4d60cb 100644 --- a/src/main/java/com/hivekion/room/bean/MoveRootTask.java +++ b/src/main/java/com/hivekion/room/bean/MoveRootTask.java @@ -11,6 +11,9 @@ import com.hivekion.room.func.TaskAction; import com.hivekion.scenario.entity.ScenarioTask; import java.util.Map; import java.util.TreeMap; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; import lombok.extern.slf4j.Slf4j; import org.springframework.core.env.Environment; @@ -26,7 +29,9 @@ import org.springframework.core.env.Environment; @Slf4j public class MoveRootTask extends AbtParentTask implements TaskAction { - + protected final ScheduledExecutorService schedule = Executors.newScheduledThreadPool( + 1); + protected ScheduledFuture scheduledFuture; private final double SPEED = 170; private double accumulatedDistance = 0; @@ -84,10 +89,7 @@ public class MoveRootTask extends AbtParentTask implements TaskAction { } - @Override - protected void business() { - } @Override diff --git a/src/main/java/com/hivekion/room/bean/SupplierTask.java b/src/main/java/com/hivekion/room/bean/SupplierTask.java index 666f1ae..2082824 100644 --- a/src/main/java/com/hivekion/room/bean/SupplierTask.java +++ b/src/main/java/com/hivekion/room/bean/SupplierTask.java @@ -28,10 +28,7 @@ public class SupplierTask extends AbtParentTask implements TaskAction { } - @Override - protected void business() { - } @Override