Consider Retlang . This is a good abstraction for streaming and integrating with WinForms in such a way that you can easily run actions that will be invoked in your form stream. It also implements various publishing / subscribing mechanisms and uses interfaces in the library for easy testing and extensibility.
Definitely take an hour to look at examples and unit tests, and create small test applications with it. It is a joy to use and will save you weeks of work.
Retlang provides a concurrency solution other than basic blocking solutions, Parallel FX, or the .NET thread pool. With Retlang, exchanging message application components asynchronously, rather than using locking and low-level locking APIs. Messages are delivered sequentially to prevent race streams or object synchronization. it is similar in design based on the events of the actors in Scala.
source share