Books & Videos

Table of Contents

Chapter: Introduction

Introduction

06m 19s

Chapter: Lesson 1: Overview of Java Concurrency

Learning Objectives

02m 34s

1.1 Understand motivations for--and layers of--the Java architecture for concurrent software

09m 43s

1.2 Understand the key benefits of developing concurrent software

10m 13s

1.3 Recognize the inherent complexities of concurrent software

12m 49s

1.4 Recognize the accidental complexities of concurrent software

10m 27s

1.5 Putting all the pieces together

04m 5s

Chapter: Lesson 2: Java Threading Mechanisms and Frameworks

Learning Objectives

01m 52s

2.1 Recognize the Java threading mechanisms available to program concurrent software

26m 18s

2.2 Understand the Java Thread lifecycle and how to manage it effectively

11m 51s

2.3 Comprehend how the Java Executor framework decouples thread management and creation from the rest of the application--Part 1

19m 0s

2.3 Comprehend how the Java Executor framework decouples thread management and creation from the rest of the application--Part 2

20m 1s

2.3 Comprehend how the Java Executor framework decouples thread management and creation from the rest of the application--Part 3

20m 52s

2.4 Understand how Java 8 functional programming features and concurrency frameworks can be applied to multi-threaded programs--Part 1

01m 36s

2.4 Understand how Java 8 functional programming features and concurrency frameworks can be applied to multi-threaded programs--Part 2

19m 6s

2.4 Understand how Java 8 functional programming features and concurrency frameworks can be applied to multi-threaded programs--Part 3

25m 51s

2.4 Understand how Java 8 functional programming features and concurrency frameworks can be applied to multi-threaded programs--Part 4

21m 57s

2.5 Putting all the pieces together

02m 14s

Chapter: Lesson 3: Java Synchronization Mechanisms

Learning Objectives

01m 50s

3.1 Understand the key Java synchronization classes in concurrent programs

11m 53s

3.2 Provide lock-free, thread-safe programming for single variables with Java atomic variables and operations

08m 38s

3.3 Ensure mutual exclusion and cooperation between threads with Java built-in monitor objects

17m 47s

3.4 Provide mutual exclusion mechanisms to concurrent programs with Java ReentrantLock

09m 45s

3.5 Provide readers-writer lock mechanisms to concurrent programs with Java ReentrantReadWriteLock and StampLock--Part 1

16m 9s

3.5 Provide readers-writer lock mechanisms to concurrent programs with Java ReentrantReadWriteLock and StampLock--Part 2

08m 22s

3.6 Enable multiple threads to control access to a limited number of shared resources with Java Semaphore

09m 31s

3.7 Enable concurrent programs to have multiple wait-sets per user-defined object with Java ConditionObject

12m 23s

3.8 Enable one or more threads to wait for operations performed in other threads to complete with Java CountDownLock, CyclicBarrier, and Phaser barrier synchronizers

30m 53s

3.9 Putting all the pieces together

02m 12s

Chapter: Lesson 4: Case Studies of Concurrency Programming in Java

Learning Objectives

02m 2s

4.1 Understand the design and implementation of a concurrent ping/pong application

30m 26s

4.2 Understand the design and implementation of a concurrent resource management application

28m 47s

4.3 Understand the design and implementation of a concurrent content downloading application

31m 49s

4.4 Understand the design and implementation of a concurrent content downloading application developed using the Java 8 concurrency frameworks

37m 49s

Chapter: Lesson 5: Source Code Analysis of java.util.concurrent Classes

Learning Objectives

01m 46s

5.1 Analyze the implementation of Java threading mechanisms

22m 17s

5.2 Analyze the implementation of Java synchronization mechanisms--Part 1

27m 58s

5.2 Analyze the implementation of Java synchronization mechanisms--Part 2

15m 8s

Chapter: Summary

Summary

03m 2s