Course description

This course will help you dive deep into designing and implementing efficient concurrent data structures using the latest C++ features and best practices.

Concurrency is crucial in today's software development landscape, and creating data structures that multiple threads can safely and efficiently access is essential. In this course, you'll:

  1. Grasp the fundamentals of concurrency and the challenges of designing concurrent data structures.

  2. Explore various concurrent data structures and select the most suitable one for your use case.

  3. Learn about synchronization techniques and mechanisms in C++ for ensuring thread safety, including mutexes, condition variables, and atomics.

  4. Understand different memory models, lock-free and wait-free data structure design, and principles of memory reclamation and garbage collection.

  5. Work on practical examples and hands-on exercises to reinforce your knowledge, and design and implement concurrent data structures like queues, stacks, hash tables, and trees using the latest C++ features.

By the end of this course, you'll be well-equipped to design and implement high-performance concurrent data structures in C++ that can scale on multi-core systems and handle high levels of concurrency.

Discover the benefits of learning concurrency with C++20:

  1. Standardized support: Utilize C++20's new features and enhancements for concurrent programming, including parallel algorithms, atomic operations, and memory models.

  2. High-performance: Harness C++'s high-performance capabilities to create fast and efficient concurrent programs.

  3. Memory model improvements: Leverage C++20's new memory model to reason about concurrent program behavior and prevent subtle bugs.

  4. Enhanced type safety: Take advantage of improved type safety in concurrent programs with features like the atomic_ref class.

  5. Practical applications: Boost your competitiveness in the job market and develop high-performance software that can handle a high degree of concurrency.

Enroll today and unlock the power of high-performance concurrent programming!

Who this course is for:

  • Intermediate C++ programmers exploring concurrey in modern C++
  • Intermediate C++ programmers looking to grow in their roles from developer to Leads
  • Intermediate C++ programmers curious to understand practical implementation of modern c++ concurrency tools
  • C++ programmers aware of syntax but looking for opportunities to build personal projects using advanced language features.
  • Senior Software Engineers planning to become Tech Leads in near future
  • All C++ programmers who have been coding in C++ for 12 months or more.

What will i learn?

  • Designing concurrent data structures using Modern C++
  • Using the Modern C++ features to build high performance data structures
  • Using C++ memory model to build lock free data strcutures
  • Pitfalls and challenges to avoid while designing concurrent systems using C++

Requirements

  • Should be aware the C++ concurrency syntax
  • Should be able to compile codes independently
  • No domain specific niche knowledge required
  • Willing to followup syntax on cppreference website and tryout snippets independently

Frank Amaet

Sharing my experience in Technology here on thothdemy. I have a background in Computer Science and worked with nearly every programming language on the planet. I graduated with highest distinction during my masters program. I've worked on projects ranging from Robotics, Web Apps, Mobile Apps to Embedded Systems. These courses will help you achieve your goals.To your success!

$9

Lectures

43

Skill level

Advanced

Expiry period

Lifetime

Share this course

Related courses