/// <summary> /// Enqueue a single action. /// </summary> /// <param name="action"></param> public void Enqueue(Action action) { if (_started == ExecutionState.Stopped) { return; } lock (_lock) { _queue.Add(action); if (_started == ExecutionState.Created) { return; } if (!_flushPending) { _pool.Queue(Flush); _flushPending = true; } } }