Class Timer
java.lang.Object
server.Timer
- Direct Known Subclasses:
Timer.autoEventTimer, Timer.BuffTimer, Timer.CheatTimer, Timer.CloneTimer, Timer.EtcTimer, Timer.EventTimer, Timer.MapTimer, Timer.MobTimer, Timer.PingTimer, Timer.ShutdownTimer, Timer.WorldTimer
全伺服器排程執行緒池的抽象基底類別,提供統一的排程、重複執行與停止介面。
以 ScheduledThreadPoolExecutor 為核心(核心 5 執行緒、
最大 8 執行緒、閒置 10 分鐘後回收),所有子計時器均為靜態單例並在
Start.run() 中依序 start():
WorldTimer— 全球世界層級定時任務(排行、事件輪替等)。MobTimer— 怪物行為與重生排程。MapTimer— 地圖物件定時任務。BuffTimer— Buff 持續計時與到期解除。autoEventTimer— 自動事件週期觸發。EventTimer— 遊戲事件實例排程。CloneTimer— Clone NPC 計時。EtcTimer— 雜項定時任務。CheatTimer— 防作弊定期檢測。PingTimer— 客戶端心跳計時。ShutdownTimer— 倒數關機計時。
任務執行期例外由內部 LoggingSaveRunnable 捕獲並寫入對應的 Log_*.rtf
錯誤記錄檔;關機時由 ShutdownServer 依序呼叫各計時器的 stop() 方法。
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetSES()registerDay(Runnable r, long repeatTime, long delay) registerMin(Runnable r, long repeatTime, long delay) scheduleAtTimestamp(Runnable r, long timestamp) voidstart()voidstop()
-
Field Details
-
file
-
name
-
-
Constructor Details
-
Timer
public Timer()
-
-
Method Details
-
start
public void start() -
getSES
-
stop
public void stop() -
register
-
registerMin
-
registerDay
-
register
-
schedule
-
scheduleAtTimestamp
-