In Part 1 we talked about what are Job Queues in C#, when they should be used and how to implement them. We saw several great implementations using BlockingCollection and the thread-pool.
While those are great, it’s worth knowing other implementations. Depending on your needs, another type of solution will suit you better. Luckily, we have a lot of great options with C#. In this article, we’ll see a couple of good ones: Reactive Extensions and System.Threading.Channels.