Parallel and Concurrent Programming with Java 2

Parallel and Concurrent Programming with Java 2

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 14m | 648 MB

With parallel computing, you can leverage multiple compute resources to tackle larger problems in a shorter amount of time. In this course, the second in the Parallel and Concurrent Programming with Java series, take a deeper dive into the key mechanisms for writing concurrent and parallel programs. Instructors Olivia and Barron Stone make these (often abstract) concepts down-to-earth, demonstrating key ideas using common kitchen activities. Learn all about synchronization, thread pools, asynchronous tasks, evaluating parallel performance, designing parallel programs, and more. Upon wrapping up this course, you’ll have a solid understanding of how to parallelize a sequential program.

Topics include:

  • Using a condition variable
  • Using a semaphore
  • Preventing a race condition
  • Use cases for a Barrier vs. a CountDownLatch
  • Drawing a directed acyclic graph
  • Using a future
  • Steps in a divide-and-conquer algorithm
  • Evaluating parallel performance
  • Designing parallel programs
Table of Contents

1 Learn parallel programming basics
2 What you should know
3 Exercise files
4 Condition variable
5 Condition variable Java demo
6 Producer–consumer
7 Producer–consumer Java demo
8 Semaphore
9 Semaphore Java demo
10 Race condition
11 Race condition Java demo
12 Barrier
13 Barrier Java demo
14 CountDownLatch Java demo
15 Computational graph
16 Thread pool
17 Thread pool Java demo
18 Future
19 Future Java demo
20 Divide and conquer
21 Divide and conquer Java demo
22 Speedup, latency, and throughput
23 Amdahl’s law
24 Measure speedup
25 Measure speedup Java demo
26 Partitioning
27 Communication
28 Agglomeration
29 Mapping
30 Welcome to the challenges
31 Challenge Matrix multiply in Java
32 Solution Matrix multiply in Java
33 Challenge Merge sort in Java
34 Solution Merge sort in Java
35 Challenge Download images in Java
36 Solution Download images in Java
37 Next steps
38 Additional resources