ConcurrentQueue队列

队列代表了一个先进先出的对象集合。当需要对各项进行先进先出的访问时,考虑到队列。当在列表中添加一项,为入队,从列表中移除一项时,为出队。

ConcurrentQueue<T>队列是一个高效的线程安全的队列(.net Framework 4.0)

对列的初始化:

ConcurrentQueue<ApiLogContract> Queue = new ConcurrentQueue<ApiLogContract>();

Queue.Enqueue(model);  //单条入队列

List<ApiLogContract> list = new List<ApiLogContract>();    //多条出列

list.add(new model{});

list.add(new model{});

list.ForEach(t =>Enqueue(t));

ApiLogContract apiLog = null;    //单条出队

Queue.TryDequeue(out apiLog);

var logs = new List<ApiLogContract>();      //多条出队

if(Queue.Count>0)

{

  for(int i = 0;i++;i<count;i++)
  {

    var source = Dequeue();

    if(source != null)
    {  

      logs.Add(source);
    }
  }
}

猜你喜欢

转载自www.cnblogs.com/HansZimmer/p/9481579.html