public void ValueTaskBench() { using (var queue = new QueueWithValueTask()) { Task.WhenAll(Enumerable.Range(0, TaskNum).Select(async threadId => { for (int i = 0; i < LoopNum; i++) { await queue.Enqueue().ConfigureAwait(false); } })).Wait(); } }
public async Task MultiValueTask() { const int TaskNum = 10; const int LoopNum = 100000; using (var queue = new QueueWithValueTask()) { await Task.WhenAll(Enumerable.Range(0, TaskNum).Select(async threadId => { for (int i = 0; i < LoopNum; i++) { await queue.Enqueue().ConfigureAwait(false); } })).ConfigureAwait(false); } }