- Course
- Core Tech
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.
What you'll learn
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.
Table of contents
- Introducing the Module and Its Agenda | 1m 10s
- Checking Your Java Version | 1m 24s
- Improving the Throughput of Applications with Asynchronous Code | 1m 34s
- Who Are You and What Do You Need to Know? | 1m 16s
- Agenda of the Course | 1m 6s
- Executing Your Code in a Synchronous Way | 1m 29s
- Writing Non-concurrent Asynchronous Code | 1m 33s
- Avoid Blocking Your Long Running Tasks | 2m 16s
- Using Concurrency to Write Asynchronous Code | 1m 3s
- Launching a Task Using an Executor Service | 1m 8s
- Live Demo: Launching Several Tasks Synchronously | 4m 31s
- Live Demo: Improving the Throughput with an Executor Service | 4m 13s
- Live Demo: Using the CompletionStage API to Run Asynchronously | 4m 16s
- Module Wrap up | 1m 9s
About the author
Passionate about programming computers for over 20 years, Jose made his debut in assembler and C, C for SIMD parallel machines before adopting Java as an object-oriented language. Assistant professor in Paris North University for more than 15 years, Jose also brings his expertise to many projects, in various industrial fields.
More Courses by Jose