Class AsyncQueue<T>
A simple asynchronous multi-thread supporting producer/consumer FIFO queue with minimal locking.
Inheritance
AsyncQueue<T>
Assembly: Advanced.Algorithms.dll
Syntax
public class AsyncQueue<T> : object
Type Parameters
Properties
Count
Declaration
public int Count { get; }
Property Value
Methods
DequeueAsync(Int32, CancellationToken)
Supports multi-threaded consumers.
Time complexity: O(1).
Declaration
public Task<T> DequeueAsync(int millisecondsTimeout = null, CancellationToken taskCancellationToken = null)
Parameters
Type |
Name |
Description |
Int32 |
millisecondsTimeout |
|
CancellationToken |
taskCancellationToken |
|
Returns
EnqueueAsync(T, Int32, CancellationToken)
Supports multi-threaded producers.
Time complexity: O(1).
Declaration
public Task EnqueueAsync(T value, int millisecondsTimeout = null, CancellationToken taskCancellationToken = null)
Parameters
Type |
Name |
Description |
T |
value |
|
Int32 |
millisecondsTimeout |
|
CancellationToken |
taskCancellationToken |
|
Returns