C++ – Parallel Programming (CPP4)

Programming, C, C++

If you already use C++ and want to start parallel programming, this hands-on workshop covers core concepts and practical skills for building correct, efficient concurrent programs. You will work with multithreading, shared data structures and the C++ memory model.

Through hands-on examples you'll learn to manage threads, tasks and coroutines, apply atomics and memory barriers, and implement synchronization, message passing and lock-free data structures. Emphasis is on safe, efficient real-world solutions.

Location, current course term

Contact us

Custom Customized Training (date, location, content, duration)

The course:

Hide detail
  • Developing parallel programs
    1. Modern C++ (C++17, C++20)
    2. Standard library
    3. Hardware characteristics
  • Memory access concurrency
    1. Concurrent writes
    2. Reading written memory
    3. Memory coherence
  • Parallel threads
    1. Launching and waiting
    2. Retrieving results
    3. Tasks and coroutines
  • Shared data structures
    1. Preventing race conditions
    2. Waiting for events
    3. Signaling
  • Thread communication
    1. Message passing
    2. Producer–consumer
    3. Thread shutdown
  • Atomic variables
    1. Variable access patterns
    2. Atomic operations
    3. Memory barriers
  • Using atomic variables
    1. Simple counters
    2. Lock-free queues
    3. Linked lists
Assumed knowledge:
Familiarity with C++.
Recommended previous course:
C++ – Advanced Programming (CPP2)
Schedule:
3 days (9:00 AM - 5:00 PM )
Language:

Vybrané zákaznické reference

ERA a.s., Libor M.
C++ – Parallel Programming ( CPP4)
"Kurz splnil má očekávání. Srozumitelný a jasný výklad probírané problematiky s odkazem na praxi."
ERA a.s., Vladimír N.
C++ – Parallel Programming ( CPP4)
"Vzhledem k obtížnosti a šíři tématu se lektor velice profesionálně orientoval, srovnání s jinými programovacími jazyky."