These days, everyone is talking about asynchronous programming. Various applications are built on RESTful services that use asynchronous programming. The term asynchronous is relevant to reactive programming. Reactive is all about data streams, and reactive programming is a model structure that is built around asynchronous data streams. Reactive programming is also known as the art of programming the propagation of changes. Let's go back to our example from Chapter 8, Concurrent Programming in .NET Core, where we were discussing the ticket collection counters at a big conference.
In addition to the three ticket-collection counters, we have one more counter named the calculation counter. This fourth counter concentrates on counting the collection, and it counts how many tickets are distributed from each of the three counters. Consider...