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, Kris Kafka, 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, moon, Philipp Lenk, Hobsbawm, Charles-Jianye Chen, and Keith Jeffery.

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

Seminars

I’m happy to give online seminars or face-to-face seminars worldwide. Please call me if you have any questions.

 

Rainer D 6 P2 500x500Modernes C++ Mentoring

Be part of my mentoring programs:

  • "Fundamentals for C++ Professionals" (open)
  • "Design Patterns and Architectural Patterns with C++" (open)
  • "C++20: Get the Details" (open)
  • "Concurrency with Modern C++" (starts March 2024)
  • Do you want to stay informed: Subscribe.

     

    Standard Seminars (English/German)

    Here is a compilation of my standard seminars. These seminars are only meant to give you a first orientation.

    • C++ – The Core Language
    • C++ – The Standard Library
    • C++ – Compact
    • C++11 and C++14
    • Concurrency with Modern C++
    • Design Pattern and Architectural Pattern with C++
    • Embedded Programming with Modern C++
    • Generic Programming (Templates) with C++
    • Clean Code with Modern C++
    • C++20

    Online Seminars (German)

    Contact Me

    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 *