Case Studies

A short introduction to some pertinent case studies used in this course to apply the theory portions.

After presenting the theory of the memory model and the multithreading interface, I will apply the theory in a few case studies.

  • Calculating the Sum of a Vector

Calculating the sum of a vector can be done in various ways. You can do it sequentially, or concurrently with maximum and minimum sharing of data. The performance numbers differ drastically.

  • Thread-Safe Initialization of a Singleton

Thread-safe initialization of a singleton is the classical use-case for thread-safe initialization of a shared variable. There are many ways to do it, with varying performance characteristics.

  • Ongoing Optimization with CppMem

I will start with a small program and successively improve it, and verify each step of my process of ongoing optimization with CppMem. CppMem is an interactive tool for exploring the behavior of small code snippets using the C++ memory model.

Create a free account to view this lesson.

By signing up, you agree to Educative's Terms of Service and Privacy Policy