I just stumbled across an article about a new addition to the BCL, the System.Threading.Channels namespace.

The new API is very useful in certain situations, but I’m even more happy with the article itself - I really highly recommended it for anyone who likes to think about threading related design (or to learn about such).

An Introduction to System.Threading.Channels, by Stephen Toub