public static void UpdateTimerList() { long currentTicks = DateTime.Now.Ticks; long currentMillis = (currentTicks - DtTickFrom) / 10000; while (TimerList.Count > 0 && currentMillis > TimerList[0].CallTime) { TimerItem _item = RemoveTimerItem(); if (_item.Status == TimerStatus.BORNING) { _item.Execute(); } if (_item.Status != TimerStatus.DEAD && _item.Loop) { _item.ResetCallTime(); AddTimerItem(_item); } else { _item.Status = TimerStatus.DEAD; } } }