Books & Videos

Table of Contents

Chapter: Introduction

Introduction to C++ Concurrency LiveLessons: Introduction

03m 26s

Chapter: Lesson 1: Running an Interactive Demo

Learning Objectives

00m 22s

1.1 Identify an unresponsive application

04m 37s

1.2 Observe reduced latency

03m 26s

1.3 Observe parallel performance

05m 4s

Chapter: Lesson 2: Starting and Joining Threads

Learning Objectives

00m 23s

2.1 Run a thread

04m 51s

2.2 Fork multiple threads

13m 7s

2.3 Start a thread with arguments

15m 40s

Chapter: Lesson 3: Using Threads to Return Values

Learning Objectives

00m 23s

3.1 Create a promise and a future

12m 6s

3.2 Start a thread with std::async

06m 39s

3.3 Consider using tasks instead of threads

04m 42s

Chapter: Lesson 4: Passing Data Between Threads

Learning Objectives

00m 31s

4.1 Understand data races

05m 58s

4.2 Pass data by value and move

11m 17s

4.3 Pass immutable data between threads

08m 24s

4.4 List directories in parallel

13m 0s

Chapter: Lesson 5: Working with Mutexes and Locks

Learning Objectives

00m 40s

5.1 Use mutex to protect shared data

19m 25s

5.2 Familiarize yourself with ownership systems

11m 30s

5.3 Implement a bank account object with a lock

08m 46s

5.4 Implement transfer between bank accounts

19m 4s

5.5 Discover and fix a deadlock

09m 27s

Chapter: Lesson 6: Using Condition Variables to Communicate

Learning Objectives

00m 33s

6.1 Create a polling loop

07m 5s

6.2 Use a condition variable

11m 37s

6.3 Create a concurrent consumer

08m 36s

6.4 Implement message passing queue

10m 42s

Chapter: Lesson 7: Understanding the Dangers of Atomic Variables

Learning Objectives

00m 28s

7.1 Understand sequential consistency

07m 27s

7.2 Get acquainted with atomic variables

03m 31s

7.3 Use atomic variables and run into atomicity violations

12m 2s

Chapter: Lesson 8: Looking into the Future of C++ Concurrency

Learning Objectives

00m 26s

8.1 Compose futures using when_all and when_any

06m 11s

8.2 Compose futures using "then" and resumable functions

09m 42s

8.3 Learn about transactional memory

06m 6s

Chapter: Summary

Introduction to C++ Concurrency LiveLessons: Summary

02m 21s