Class FamilyLoad

java.lang.Object
handling.world.family.FamilyLoad

public class FamilyLoad extends Object
家族資料的多執行緒非同步載入器,於伺服器啟動時並行讀取所有家族記錄。

維護 NumSavingThreads(預設 8)條 TimingThread, 透過 ArrayBlockingQueue 分派家族 ID;呼叫流程:

  • QueueFamilyForLoad(int) — 以 round-robin 方式將家族 ID 放入對應執行緒的佇列。
  • Execute(Object) — 啟動所有執行緒,每條執行緒逐一從佇列取出 ID、 建構 MapleFamily 並呼叫 World.Family.addLoadedFamily 注入全局家族表; 執行完畢後以 notify() 通知呼叫端。

MapleFamily.loadAll(Object) 在啟動時觸發, 以縮短多家族環境下的序列載入時間。

  • Field Details

  • Constructor Details

    • FamilyLoad

      public FamilyLoad()
  • Method Details

    • QueueFamilyForLoad

      public static void QueueFamilyForLoad(int hm)
    • Execute

      public static void Execute(Object ToNotify)