My Next Mentoring Program: “Concurrency with Modern C++” starts

My Next Mentoring Program: “Concurrency with Modern C++” starts

My next mentoring program, “Concurrency with Modern C++”, starts on the 15th of March. Registration is open.


Here are more details.

Concurrency with Modern C++:

The mentoring program consists of 16 stations. You have to invest at least 3 hours per week for each one. This means the program takes four months, and you can integrate my program into your workday.

16 Stations

Introduction

  • The Contract
  • Preparation

Threads

  • std::thread
  • std::jthread
  • Shared Data
  • Mutexes
  • Locks

Concurrency Challenges

  • Program Invariants
  • Data Races
  • Deadlocks
  • False Sharing
  • Lifetime Issues

Thread Details

  • Thread-Local Data
  • Thread-Safe Initialization
  • Synchronized Output Streams

Synchronization and Coordination

  • Condition Variables
  • Semaphores
  • Latches and Barriers

Cooperative Interruption

  • std::stop_source, std::stop_token, and std::stop_callback
  • std::jthread std::condition_variable_any

Tasks

  • Promise and Futures
  • std::async
  • std::packaged_task
  • std::promise and std::future

Coroutines

  • Characteristics
  • The Framework
  • Awaitables and Awaiters
  • The Workflows

Coroutines

  • A Scheduler
  • Producer-Consumer

Parallel Algorithms of the Standard Template Library

  • Execution Policies
  • Algorithms
  • Compiler Support
  • Performance

Atomics

  • Introduction
  • std::atomic_flag
  • std::atomic
  • std::atomic_ref

Synchronization and Ordering Constraints

  • Six different Memory Orderings
  • Sequential Consistency
  • Acquire-Release Semantics
  • Acquire-Consume Semantics
  • Relaxed Semantics

Case Studies

  • Calculating the Sum of a Vector
  • Thread-Safe Initialization of a Singleton
  • Ongoing Optimization with CppMem

Synchronization Patterns: Dealing with Mutation

  • Copied Value
  • Thread-Specific Storage
  • Future

Synchronization Patterns: Dealing with Sharing

  • Scoped Locking
  • Strategized Locking
  • Thread-Safe Interface
  • Guarded Suspension

Concurrent Architecture

  • Active Object
  • Monitor Object


“Concurrency with Modern C++” is my fourth mentoring program. Here is more information about this program, “Concurrency with Modern C++”, and my three other mentoring programs, which you can start immediately.

More Information?

Modernes C++ Mentoring




要查看或添加评论,请登录

社区洞察

其他会员也浏览了