O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Java 9 Concurrency- Advanced Elements

Video Description

Perform more than 25 tasks to help you enhance the Java concurrent API

About This Video

  • Get detailed coverage of important recipes on multithreading and parallel programming
  • This video takes a close look at the Java 9 APIs and their impact on concurrency
  • See practical examples on thread safety, high-performance classes, safe sharing, and a whole lot more

In Detail

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 on, you’ll discover a whole range of recipes for almost everything, such as thread management, synchronization, executors, parallel and reactive streams, and much more.

By the end of the video, you will know 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.

Table of Contents

  1. Chapter 1 : Customizing the Concurrency Classes
    1. The Course Overview 00:03:43
    2. Customizing the ThreadPoolExecutor Class 00:05:17
    3. Implementing a Priority –Based Executor Class 00:04:10
    4. Generate Custom Threads Using ThreadFactory Interface 00:03:49
    5. Using Our ThreadFactory in an Executor Object 00:02:08
    6. Customizing Tasks Running in a Scheduled Thread Pool 00:07:08
    7. Generating Custom Threads for the Fork/Join Framework 00:06:15
    8. Customizing Tasks Running in the Fork/Join Framework 00:04:04
    9. Implementing a Custom Lock Class 00:04:49
    10. Implementing a Transfer Queue-Based on Priorities 00:08:27
    11. Implementing Your Own Atomic Object 00:03:50
    12. Implementing Your Own Stream Generator 00:06:48
    13. Implementing Your Own Asynchronous Stream 00:07:23
  2. Chapter 2 : Testing Concurrent Applications
    1. Monitoring a Lock Interface 00:04:26
    2. Monitoring a Phaser Class 00:03:06
    3. Monitoring an Executor Framework 00:03:18
    4. Monitoring a Fork/Join Pool 00:03:50
    5. Monitoring a Stream 00:02:21
    6. Writing Effective Log Messages 00:05:59
    7. Analyzing Concurrent Code with FindBugs 00:04:53
    8. Testing Concurrency Code with MultithreadedTC 00:04:48
    9. Monitoring with JConsole 00:03:35
  3. Chapter 3 : Concurrent Programming Design
    1. Using Atomic Variables Instead of Synchronization 00:05:07
    2. Holding Locks for as Short Time as Possible 00:04:37
    3. Delegating the Management of Threads to Executors 00:02:12
    4. Taking Precautions Using Lazy Initialization 00:03:45
    5. Using the Fork/Join Framework Instead of Executors 00:04:43
    6. Avoiding the Use of Blocking Operations Inside a Lock 00:02:53
    7. Using Streams to Process Big Data Sets 00:05:05