Parallel and Concurrent Programming with C++ Part 1

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 59m | 688 MB

Parallel programming unlocks a program’s ability to execute multiple instructions simultaneously. It increases the overall processing throughput and is key to writing faster and more efficient applications. This training course introduces the basics of concurrent and parallel programming in C++, providing the foundational knowledge you need to write more efficient, performant code. Instructors Barron and Olivia Stone explain concepts like threading and mutual exclusion in a fun and informative way, relating them to everyday activities you perform in the kitchen. To cement the ideas, they demo them in action using C++. Each lesson is short and practical, driving home the theory with hands-on techniques.

Topics include:

  • Parallel computing architectures
  • Shared vs. distributed memory
  • Thread vs. process
  • Execution scheduling
  • The thread lifecycle in C++
  • Mutual exclusion
  • Locking in recursive and shared mutexes
  • Acquiring a lock on a mutex with a try lock
  • Resolving deadlock and livelock conditions
Table of Contents

1 Learn parallel programming basics
2 What you should know
3 Installing Cygwin and Visual Studio Code
4 Sequential versus parallel computing
5 Parallel computing architectures
6 Shared versus distributed memory
7 Thread versus process
8 Thread versus process C++ demo
9 Concurrent versus parallel execution
10 Execution scheduling
11 Execution scheduling C++ demo
12 Thread life cycle
13 Thread life cycle C++ demo
14 Detached thread
15 Detached thread C++ demo
16 Data race
17 Data race C++ demo
18 Mutual exclusion
19 Mutual exclusion C++ demo
20 Atomic objects C++ demo
21 Recursive mutex
22 Recursive mutex C++ demo
23 Try lock
24 Try lock C++ demo
25 Shared mutex
26 Shared mutex C++ demo
27 Deadlock
28 Deadlock C++ demo
29 Abandoned lock
30 Abandoned lock C++ demo
31 Starvation
32 Starvation C++ demo
33 Livelock
34 Livelock C++ demo
35 Next steps