/// <summary>
 /// 入队
 /// </summary>
 /// <param name="consumer"></param>
 public void Enqueue(IDacTaskResultConsumer consumer)
 {
     lock (((ICollection)this.list).SyncRoot)
     {
         this.list.Add(consumer);
     }
 }
Example #2
0
 /// <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);
         }
     }
 }