When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Asynchronous Programming in Java
Java SE 17 comes with its own asynchronous programming model. This course shows you how you can leverage this API to setup asynchronous systems, triggering tasks on the completion of other tasks, and how you report errors or recover from them.

This Course Includes
pluralsight
4 (41 reviews )
1 hour 58 minutes
english
Online - Self Paced
core courses
pluralsight
About Asynchronous Programming in Java
Asynchronous programming is the universal pattern to create efficient, safe, and high-throughput applications. Starting with Java SE 8, Java has its own API: CompletionStage, to create asynchronous data processing pipelines. In this course, Asynchronous Programming in Java you will lean how to create asynchronous tasks based on the three models this API provides: Runnable, Consumers, and Functions. First, you will see how you can chain these tasks to trigger them on the outcome of other tasks. Then, you will explore what are the threads that are executing your tasks in the default configuration of the API, and how you can control them to balance your application, giving the right number of threads to the right number of tasks. Next, you will discover how you can have certain tasks to run in specific thread, for instance in the case that you need to update a graphical component, the API provides several mechanisms to deal with exceptions. Finally, you will learn how does the API processes exceptions, how you can log them and how you can recover from them if your application permits it. When you are finished with this course, you will be able to write your own asynchronous data processing pipelines, and will have hints on how you can set them up to get better performance.
What You Will Learn?
- Course Overview : 1min.
- Accessing Data Asynchronously on the Web : 28mins.
- Triggering a Task on the Outcome of Another Task : 17mins.
- Splitting a Result into Several Asynchronous Tasks : 29mins.
- Controlling What Thread Can Execute a Task : 13mins.
- Reporting and Recovering from Errors : 14mins.
- Closing Remarks : 14mins.