protected override void OnTick() { lock (DispatchQueue) { if (DispatchQueue.Count <= 0) { return; } // Dispatch all queued callbacks. foreach (var dispatchItem in DispatchQueue) { dispatchItem.Invoke(null); } // Clear dispatched callbacks. DispatchQueue.Clear(); } }