Java 9 Concurrency – High-Level Elements

Java 9 Concurrency – High-Level Elements

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 57m | 654 MB

Learn the Java Concurrency API with Thread Executors and the Fork/Join Frame work

Writing concurrent and parallel programming applications is a crucial skill for any Java programmer. Java 9 comes with a host of fantastic features, including significant performance improvements and new APIs. This video will take you through all the new APIs, showing you how to build parallel and multi-threaded applications. The video covers all the elements of the Java Concurrency API, with essential recipes that will help you take advantage of the exciting new capabilities. You will learn how to use parallel and reactive streams to process massive data sets. Next, you will move on to create streams and use all their intermediate and terminal operations to process big collections of data in a parallel and functional way. Further, you’ll discover a whole range of recipes for almost everything, such as thread management, synchronization, executors, parallel and reactive streams, and many more. At the end of the video, you will learn how to obtain information about the status of some of the most useful components of the Java Concurrency API and how to test concurrent applications using different tools.

What You Will Learn

  • Separate thread management from the rest of the application with the Executor framework
  • Solve problems using a parallelized version of the divide-and-conquer paradigm with the Fork/Join framework
  • Process massive data sets in an optimized way using streams and reactive streams
Table of Contents

01 The Course Overview
02 Creating a Thread Executor and Controlling its Rejected Tasks
03 Executing Tasks in an Executor that Returns a Result
04 Running Multiple Tasks and Processing the First Result
05 Running Multiple Tasks and Processing all the Results
06 Running a Task in an Executor After a Delay
07 Running a Task in an Executor Periodically
08 Canceling a Task in an Executor
09 Controlling a Task Finishing in an Executor
10 Separating the Launching of Tasks and the Processing of their Results in an Executor
11 Creating a Fork_Join Pool
12 Joining the Results of the Tasks
13 Running Tasks Asynchronously
14 Throwing Exceptions in the Tasks
15 Canceling a Task
16 Creating Streams from Different Sources
17 Reducing the Elements of a Stream
18 Collecting the Elements of a Stream
19 Applying an Action to Every Element of a Stream
20 Filtering the Elements of a Stream
21 Transforming the Elements of a Stream
22 Sorting the Elements of a Stream
23 Verifying Conditions in the Elements of a Stream
24 Reactive Programming with Reactive Streams
25 Using Non-Blocking Thread-Safe Deques
26 Using Blocking Thread-Safe Deques
27 Using Blocking Thread-Safe Queue Ordered by Priority
28 Using Thread-Safe Lists with Delayed Elements
29 Using Thread-Safe Navigable Maps
30 Using Thread-Safe HashMaps
31 Using Atomic Variables
32 Using Atomic Arrays
33 Using the Volatile Keyword
34 Using Variable Handles