We may earn an affiliate commission when you visit our partners.
Kenny Kerr

This course is about the practical application of the modern C++ language to the field of concurrency or concurrent programming.

Read more

This course is about the practical application of the modern C++ language to the field of concurrency or concurrent programming.

This course will introduce you to modern C++ concurrency on the Windows operating system. Unfortunately, standard or portable concurrency is still in its infancy so a comprehensive study of concurrency cannot get away from the practical and platform-specific aspects of the craft. As such, this course uses the Windows operating system as the playground to explore concurrency in C++. This course will prepare you with a deep understanding of threads and synchronization at the OS level, including modern synchronization primitives such as slim reader/writer locks and condition variables. You will learn all about the mighty Windows thread pool API and the Concurrency Runtime. Finally, you will be introduced to some of the shortcomings that plague the C++11 Thread Support Library.

Enroll now

What's inside

Syllabus

Getting Started
Threads
Synchronization
Condition Variables
Read more
The Windows Thread Pool
The Windows Thread Pool - Part 2
The Concurrency Runtime
The C++11 Thread Support Library

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines synchronization which is standard in modern C++ concurrency
Taught by Kenny Kerr who is recognized in modern C++ concurrency
Develops skills in modern C++ concurrency which are core for Windows Programming
Provides a deep understanding of threads and synchronization at OS level
Cautions about certain shortcomings in the C++11 Thread Support Library

Save this course

Save Modern C++ Concurrency to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Modern C++ Concurrency. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Modern C++ Concurrency will develop knowledge and skills that may be useful to these careers:
Systems Programmer
A Systems Programmer is a software developer who designs and develops operating systems and other system software. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for designing and developing operating systems and other system software that is scalable, reliable, and efficient.
Software Architect
A Software Architect is a senior-level software developer who designs and builds the architecture of software systems. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for designing and building complex software systems that are scalable, reliable, and efficient.
Embedded Software Engineer
An Embedded Software Engineer is a software developer who designs and develops software for embedded systems. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for designing and developing embedded software that is scalable, reliable, and efficient.
Game Programmer
A Game Programmer is a software developer who designs and develops video games. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for designing and developing video games that are scalable, reliable, and efficient.
Senior Software Engineer
A Senior Software Engineer is a highly experienced software developer who leads and mentors junior developers. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language. This knowledge is essential for leading and mentoring junior developers in the design and development of complex software systems.
DevOps Engineer
A DevOps Engineer is a professional who works to bridge the gap between development and operations teams. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for developing and deploying software systems that are scalable, reliable, and efficient.
Cloud Engineer
A Cloud Engineer is a professional who designs and manages cloud computing systems. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for designing and managing cloud computing systems that are scalable, reliable, and efficient.
Security Engineer
A Security Engineer is a professional who designs and implements security systems. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for designing and implementing security systems that are scalable, reliable, and efficient.
Data Scientist
A Data Scientist is a professional who uses data to solve problems and make informed decisions. This course can help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language, including concurrency and synchronization. This knowledge is essential for developing data-intensive applications that are scalable, reliable, and efficient.
Product Manager
A Product Manager is a professional who manages the development and launch of new products. This course may help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language. This knowledge can be helpful for managing the development of software products.
Business Analyst
A Business Analyst is a professional who analyzes and solves business problems. This course may help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language. This knowledge can be helpful for analyzing and solving business problems using data.
Sales Engineer
A Sales Engineer is a professional who sells and supports technical products and services. This course may help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language. This knowledge can be helpful for understanding and selling technical products and services.
Consultant
A Consultant is a professional who provides advice and expertise to organizations. This course may help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language. This knowledge can be helpful for providing advice and expertise to organizations on a variety of technical topics.
User Experience Designer
A User Experience Designer is a professional who designs and evaluates user interfaces. This course may help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language. This knowledge can be helpful for designing user interfaces that are intuitive, efficient, and enjoyable to use.
Technical Writer
A Technical Writer is a professional who writes technical documentation, such as user manuals and white papers. This course may help you build a foundation for success in this role by teaching you about the practical application of the modern C++ language. This knowledge can be helpful for writing technical documentation that is accurate, clear, and concise.

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser