/// <summary> /// /// </summary> /// <param name="item"></param> public void QueueUserWorkItem(object item) { lock (_queue) { _queue.Enqueue(item); } EnqueueEvent.Set(); }
public void Enqueue <T>(T item) { var type = typeof(T); if (!slots.ContainsKey(type)) { throw new Exception("!slots.ContainsKey( type )"); } slots[type].Enqueue(item); EnqueueEvent?.Invoke(type, new QueueEventArgs(item)); }
public void Enqueue(T item) { if (Count == _array.Length) { int capacity = (int)((_array.Length * _GrowFactor) / 100L); if (capacity < (_array.Length + _MinimumGrow)) { capacity = _array.Length + _MinimumGrow; } SetCapacity(capacity); } _array[_tail] = item; _tail = (_tail + 1) % _array.Length; Count++; _version++; EnqueueEvent?.Invoke(this, new MyQueueEventArgs <T>("Event from Enqueue", item)); }
public void OnEnqueueEvent(Point[] enqueuedPoints, Point[] providedPoints, string[] validationErrors) { EnqueueEvent?.Invoke(this, new EnqueueEventArgs(enqueuedPoints, providedPoints, validationErrors)); }