Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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.
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.
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.