Class FamilyLoad
java.lang.Object
handling.world.family.FamilyLoad
家族資料的多執行緒非同步載入器,於伺服器啟動時並行讀取所有家族記錄。
維護 NumSavingThreads(預設 8)條 TimingThread,
透過 ArrayBlockingQueue 分派家族 ID;呼叫流程:
QueueFamilyForLoad(int)— 以 round-robin 方式將家族 ID 放入對應執行緒的佇列。Execute(Object)— 啟動所有執行緒,每條執行緒逐一從佇列取出 ID、 建構MapleFamily並呼叫World.Family.addLoadedFamily注入全局家族表; 執行完畢後以notify()通知呼叫端。
由 MapleFamily.loadAll(Object) 在啟動時觸發,
以縮短多家族環境下的序列載入時間。
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
NumSavingThreads
public static final int NumSavingThreads- See Also:
-
-
Constructor Details
-
FamilyLoad
public FamilyLoad()
-
-
Method Details
-
QueueFamilyForLoad
public static void QueueFamilyForLoad(int hm) -
Execute
-