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

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

  1. Introduction
    • The Contract
    • Preparation
  2. Threads
    • std::thread
    • std::jthread
    • Shared Data
    • Mutexes
    • Locks
  3. Concurrency Challenges
    • Program Invariants
    • Data Races
    • Deadlocks
    • False Sharing
    • Lifetime Issues
  4. Thread Details
    • Thread-Local Data
    • Thread-Safe Initialization
    • Synchronized Output Streams
  5. Synchronization and Coordination
    • Condition Variables
    • Semaphores
    • Latches and Barriers
  6. Cooperative Interruption
    • std::stop_source, std::stop_token, and std::stop_callback
    • std::jthread
    • std::condition_variable_any
  7. Tasks
    • Promise and Futures
    • std::async
    • std::packaged_task
    • std::promise and std::future
  8. Coroutines
    • Characteristics
    • The Framework
    • Awaitables and Awaiters
    • The Workflows
  9. Coroutines
    • A Scheduler
    • Producer-Consumer
  10. Parallel Algorithms of the Standard Template Library
    • Execution Policies
    • Algorithms
    • Compiler Support
    • Performance
  11. Atomics
    • Introduction
    • std::atomic_flag
    • std::atomic
    • std::atomic_ref
  12. Synchronization and Ordering Constraints
    • Six different Memory Orderings
    • Sequential Consistency
    • Acquire-Release Semantics
    • Acquire-Consume Semantics
    • Relaxed Semantics
  13. Case Studies
    • Calculating the Sum of a Vector
    • Thread-Safe Initialization of a Singleton
    • Ongoing Optimization with CppMem
  14. Synchronization Patterns: Dealing with Mutation
    • Copied Value
    • Thread-Specific Storage
    • Future
  15. Synchronization Patterns: Dealing with Sharing
    • Scoped Locking
    • Strategized Locking
    • Thread-Safe Interface
    • Guarded Suspension
  16. 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 open mentoring programs, which you can start immediately.

More Information?

Modern C++ Mentoring,

RainerGrimmDunkelBlauSmall

Thanks a lot to my Patreon Supporters: Matt Braun, Roman Postanciuc, Tobias Zindl, G Prvulovic, Reinhold Dröge, Abernitzke, Frank Grimm, Sakib, Broeserl, António Pina, Sergey Agafyin, Андрей Бурмистров, Jake, GS, Lawton Shoemake, Jozo Leko, John Breland, Venkat Nandam, Jose Francisco, Douglas Tinkham, Kuchlong Kuchlong, Robert Blanch, Truels Wissneth, Mario Luoni, Friedrich Huber, lennonli, Pramod Tikare Muralidhara, Peter Ware, Daniel Hufschläger, Alessandro Pezzato, Bob Perry, Satish Vangipuram, Andi Ireland, Richard Ohnemus, Michael Dunsky, Leo Goodstadt, John Wiederhirn, Yacob Cohen-Arazi, Florian Tischler, Robin Furness, Michael Young, Holger Detering, Bernd Mühlhaus, Stephen Kelley, Kyle Dean, Tusar Palauri, Juan Dent, George Liao, Daniel Ceperley, Jon T Hess, Stephen Totten, Wolfgang Fütterer, Matthias Grün, Phillip Diekmann, Ben Atakora, Ann Shatoff, Rob North, Bhavith C Achar, Marco Parri Empoli, Philipp Lenk, Charles-Jianye Chen, Keith Jeffery, Matt Godbolt, and Honey Sukesan.

Thanks, in particular, to Jon Hess, Lakshman, Christian Wittenhorst, Sherhy Pyton, Dendi Suhubdy, Sudhakar Belagurusamy, Richard Sargeant, Rusty Fleming, John Nebel, Mipko, Alicja Kaminska, Slavko Radman, and David Poole.

My special thanks to Embarcadero
My special thanks to PVS-Studio
My special thanks to Tipi.build 
My special thanks to Take Up Code
My special thanks to SHAVEDYAKS

Modernes C++ GmbH

Modernes C++ Mentoring (English)

Do you want to stay informed about my mentoring programs? Subscribe Here

Rainer Grimm
Yalovastraße 20
72108 Rottenburg

Rainer D 6 P2 500x500

 

Rainer D 6 P2 500x500Modernes C++ Mentoring

  • "Fundamentals for C++ Professionals" (open)
  • "Design Patterns and Architectural Patterns with C++" (open)
  • "C++20: Get the Details" (open)
  • "Concurrency with Modern C++" (open)
  • "Generic Programming (Templates) with C++": October 2024
  • "Embedded Programming with Modern C++": October 2024
  • "Clean Code: Best Practices for Modern C++": March 2025
  • Do you want to stay informed: Subscribe.

     

    Mobil: +49 176 5506 5086
    Mail: schulung@ModernesCpp.de
    Mentoring: www.ModernesCpp.org

    Modernes C++ Mentoring,

     

     

    0 replies

    Leave a Reply

    Want to join the discussion?
    Feel free to contribute!

    Leave a Reply

    Your email address will not be published. Required fields are marked *