/// <summary> /// 入队 /// </summary> /// <param name="consumer"></param> public void Enqueue(IDacTaskResultConsumer consumer) { lock (((ICollection)this.list).SyncRoot) { this.list.Add(consumer); } }
/// <summary> /// 消费者插队 /// </summary> /// <param name="queueindex"></param> /// <param name="index"></param> /// <param name="consumer"></param> public static void InsertComsumer(int queueindex, int index, IDacTaskResultConsumer consumer) { if (Queues.Count > queueindex) { Queues[queueindex].Insert(consumer, index); } }
/// <summary> /// 插队 (在队列固定位置插入消费者,插入后,其后的消费者序号向后移动) /// </summary> /// <param name="consumer">消费者</param> /// <param name="queueNum">队列序号(从1开始)</param> /// <exception cref="T:System.ArgumentOutOfRangeException"> /// <paramref name="queueNum"/> 小于 1。 - 或 - /// <paramref name="queueNum"/> 大于 <see cref="P:FS.SMIS_Cloud.DAC.ConsumerQueue.Length"/>。 /// </exception> public void Insert(IDacTaskResultConsumer consumer, int queueNum) { lock (((ICollection)this.list).SyncRoot) { if (this.list.Count == 0) { this.list.Add(consumer); } else { this.list.Insert(queueNum - 1, consumer); } } }