private void Schedule(ExecuteScheduledAction action) { _fiber.Add(() => { _actions.Add(action); ExecuteExpiredActions(); }); }
public void Add(ExecuteScheduledAction action) { lock (_lock) { List<ExecuteScheduledAction> list; if (_actions.TryGetValue(action.ScheduledAt, out list)) { list.Add(action); } else { list = new List<ExecuteScheduledAction> {action}; _actions[action.ScheduledAt] = list; } } }
public void Add(ExecuteScheduledAction action) { lock (_lock) { List <ExecuteScheduledAction> list; if (_actions.TryGetValue(action.ScheduledAt, out list)) { list.Add(action); } else { list = new List <ExecuteScheduledAction> { action }; _actions[action.ScheduledAt] = list; } } }
public void Schedule(ExecuteScheduledAction action) { _queue.Enqueue(() => { _actions.Add(action); ScheduleTimer(); }); }