<PackageReference Include="NUnit" Version="3.5.0" />

WorkItemQueue

public class WorkItemQueue
A WorkItemQueue holds work items that are ready to be run, either initially or after some dependency has been satisfied.
public bool IsEmpty { get; }

Get a bool indicating whether the queue is empty.

public int ItemsProcessed { get; }

Gets the total number of items processed so far

public int MaxCount { get; }

Gets the maximum number of work items.

public string Name { get; }

Gets the name of the work item queue.

public WorkItemQueueState State { get; }

Gets the current state of the queue

public WorkItemQueue(string name)

Initializes a new instance of the WorkItemQueue class.

public WorkItem Dequeue()

Dequeue a WorkItem for processing

public void Enqueue(WorkItem work)

Enqueue a WorkItem to be processed

public void Pause()

Pause the queue for restarting later

public void Start()

Start or restart processing of items from the queue

public void Stop()

Signal the queue to stop