In the previous section, we explored reactive types and reactive operators that allow the implementation of a lot of reactive workflows. Now, we have to go deeper and learn about the life cycle of Reactive Streams, multithreading, and how the internal optimizations are working in Project Reactor.