C# Blocking Queue

thread-safe queue for passing messages between threads

Fig 1. BlockingQueue Diagram

1.0 Contents

This repository provides a thread-safe BlockingQueue component. It is used in several of the C# projects you will find in other repositories.
The BlockingQueue is:
  • A thread-safe template container that blocks a dequeuer thread when empty. Almost all applications will have one or more enquing threads and one dequing thread.
  • Is move-able but not copy-able.
  • Uses a condition variable and mutex to ensure thread-safe operation.

2.0 Build

All code was built with Visual Studio, Community Edition - 2019, and tested on Windows 10.