public static void Run(SchedulerQueue queue) { while (queue.Count > 0) { ScheduledItem scheduledItem = queue.Dequeue(); if (!scheduledItem.IsCanceled) { TimeSpan timeSpan = scheduledItem.DueTime - Scheduler.CurrentThreadScheduler.Time; if (timeSpan.get_Ticks() > 0L) { Thread.Sleep(timeSpan); } if (!scheduledItem.IsCanceled) { scheduledItem.Invoke(); } } } }
public static void Run(SchedulerQueue queue) { while (queue.Count > 0) { ScheduledItem scheduledItem = queue.Dequeue(); if (!scheduledItem.IsCanceled) { TimeSpan timeout = scheduledItem.DueTime - Time; if (timeout.Ticks > 0) { Thread.Sleep(timeout); } if (!scheduledItem.IsCanceled) { scheduledItem.Invoke(); } } } }
public static void Run(SchedulerQueue queue) { while (queue.Count > 0) { ScheduledItem item = queue.Dequeue(); if (!item.IsCanceled) { TimeSpan wait = item.DueTime - CurrentThreadScheduler.Time; if (wait.Ticks > 0) { Thread.Sleep(wait); } if (!item.IsCanceled) { item.Invoke(); } } } }