Asynchronous programming in Java : an introduction to nonblocking I/O, timeouts, circuit breakers, and concurrency models (O'Reilly Media, 2017)
"Reactive and asynchronous applications are growing in popularity, but what is the best way to build them? This course teaches you how to apply the latest concurrency techniques to develop state of the art Java applications. With the rise of microservices and service oriented architecture (SOA), asynchronous concurrency is now critical to day-to-day Java development. This video, designed for software architects and intermediate- to advanced-level Java developers, begins by reviewing the differences between asynchronous and synchronous programming. It then looks at the problems Java programmers currently have when using different synchronous programming models before diving deep into non-blocking I/O, timeouts, circuit breakers, and the different approaches to concurrency."--Resource description page