Implementing your own asynchronous stream

Reactive streams (http://www.reactive-streams.org/) defines a mechanism to provide asynchronous stream processing with non-blocking back pressure.

Reactive streams are based on three elements:

  • It is a publisher of information
  • It has one or more subscribers of this information
  • It provides subscription between the publisher and a consumer

Java 9 has included three interfaces--Flow.Publisher, Flow.Subscriber, and Flow.Subscription--and a utility class, SubmissionPublisher, to allow us to implement reactive stream applications.

In this recipe, you will learn how to implement your own reactive application using only three interfaces. Take into account that we will implement the expected behavior between ...

Get Java 9 Concurrency Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.