public void Switch() { lock (SyncRoot) { var tmp = buffer1; buffer1 = buffer2; buffer2 = tmp; } }
public LimitedQueue <T> Clone() { LimitedQueue <T> result = new LimitedQueue <T>(Capacity); result.index = this.index; result.Count = this.Count; Array.Copy(this.buffer, result.buffer, Capacity); return(result); }
public DoubleLimitedQueue(int capacity) { buffer1 = new LimitedQueue <T>(capacity); buffer2 = new LimitedQueue <T>(capacity); Capacity = capacity; }