修复延迟基线bug

Timer改成线程池,修复系统时间改变导致定时任务无法执行的bug
This commit is contained in:
2026-09-29 20:10:57 +08:00
parent 100fad7d18
commit 862b860020
13 changed files with 260 additions and 202 deletions
@@ -13,6 +13,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Queue;
import java.util.UUID;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
@@ -570,20 +572,17 @@ public class KLALBRemoteLink extends AbstractControlledIPv6NetworkLink implement
private ThreadParker tpk=new ThreadParker();
private StateManager stateManager;
private MonitorUpdater monitorUpdater;
private ScheduledFuture<?> monitorUpdater;
private class MonitorUpdater implements Runnable{
@Override
public void run() {
while (!closed) {
if(closed) {
monitorUpdater.cancel(false);
}else{
status.updateReliability();
if(status.getState()!=LinkStatus.DOWN) {
monitor.update();
}
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@@ -755,8 +754,7 @@ public class KLALBRemoteLink extends AbstractControlledIPv6NetworkLink implement
protected void startIO() {
stateManager=new StateManager();
monitorUpdater=new MonitorUpdater();
ThreadTool.makeVDaemonThread("线路性能采样线程", monitorUpdater).start();
monitorUpdater=KLALBScheduler.getScheduler().scheduleAtFixedRate(new MonitorUpdater(),1,1, TimeUnit.MILLISECONDS);
ThreadTool.makeVDaemonThread("远程线路状态线程", stateManager).start();
}