Reactive programming is a paradigm that focuses more on where the data flows during computation than on how to compute the result. The problem is best described as several computations that depend on the output of one another, but if several may be executed independently of the other, reactive programming may come into the picture. As a simple example, we can have the following computation that calculates the value of h from some given b, c, e, and f values, using f1, f2, f3, f4, and f5 as simple computational steps:
a = f1(b,c) d = f2(e,f) k = f3(e,c) g = f4(b,f,k) h = f5(d,a,g)
If we write these in Java in a conventional way, the methods f1 to f5 will be invoked one after the other. If we have multiple processors and we are able to make the execution parallel, we may also perform some of the methods parallel. This, of course, assumes that...