public void Count() { var target = new QueueingConcurrent <int>(0); int plusOne(int x) => x + 1; Parallel.For(0, 1000, (i) => { target.Act(plusOne); }); Assert.Equal(1000, target.EnqueRead().Result); }
public bool TryGet(int i, out QueueingConcurrent <TValue> value) { try { if (backing.TryGet(i, out var res)) { value = res; return(true); } value = default; return(false); } finally { Interlocked.Decrement(ref enumerationCount); } }