Back to Basics: Concurrency - Arthur O'Dwyer - CppCon 2020
https://cppcon.org/
https://github.com/CppCon/CppCon2020/blob/main/Presentations/back_to_basics_concurrency/back_to_basics_concurrency__arthur_odwyer__cppcon_2020.pdf
---
One of C++11's flagship features was the introduction of std::thread, along with a complete suite of synchronization primitives and useful patterns such as thread-safe static initialization. In this session, we'll motivate C++11's threading model and explain how to use std::thread effectively. We'll compare and contrast the C++11 synchronization primitives (mutex, condition variable, reader-writer lock, and once-flag) as well as the primitives that are new in C++20 (semaphore, latch, and barrier). In particular, we'll show how to make a mutex and a condition variable work together.
When using threads, it's important to avoid shared mutable state. We'll show how to tame that state via the "blue/green deployment" pattern, and briefly discuss how to use std::future and std::async to safely handle threads that produce answers.
Attendees will leave this session with a strong grasp on "multithreading tactics" in C++11 and beyond.
---
Arthur O'Dwyer is the author of "Mastering the C++17 STL" (Packt 2017) and of professional training courses such as "Intro to C++," "Classic STL: Algorithms, Containers, Iterators," and "The STL From Scratch." (Ask me about training your new hires!) Arthur is occasionally active on the C++ Standards Committee and has a blog mostly about C++. He is also the author of "Colossal Cave: The Board Game," an avid club juggler, and the recipient of four
---
Streamed & Edited by Digital Medium Ltd - events.digital-medium.co.uk
events@digital-medium.co.uk
Видео Back to Basics: Concurrency - Arthur O'Dwyer - CppCon 2020 канала CppCon
https://github.com/CppCon/CppCon2020/blob/main/Presentations/back_to_basics_concurrency/back_to_basics_concurrency__arthur_odwyer__cppcon_2020.pdf
---
One of C++11's flagship features was the introduction of std::thread, along with a complete suite of synchronization primitives and useful patterns such as thread-safe static initialization. In this session, we'll motivate C++11's threading model and explain how to use std::thread effectively. We'll compare and contrast the C++11 synchronization primitives (mutex, condition variable, reader-writer lock, and once-flag) as well as the primitives that are new in C++20 (semaphore, latch, and barrier). In particular, we'll show how to make a mutex and a condition variable work together.
When using threads, it's important to avoid shared mutable state. We'll show how to tame that state via the "blue/green deployment" pattern, and briefly discuss how to use std::future and std::async to safely handle threads that produce answers.
Attendees will leave this session with a strong grasp on "multithreading tactics" in C++11 and beyond.
---
Arthur O'Dwyer is the author of "Mastering the C++17 STL" (Packt 2017) and of professional training courses such as "Intro to C++," "Classic STL: Algorithms, Containers, Iterators," and "The STL From Scratch." (Ask me about training your new hires!) Arthur is occasionally active on the C++ Standards Committee and has a blog mostly about C++. He is also the author of "Colossal Cave: The Board Game," an avid club juggler, and the recipient of four
---
Streamed & Edited by Digital Medium Ltd - events.digital-medium.co.uk
events@digital-medium.co.uk
Видео Back to Basics: Concurrency - Arthur O'Dwyer - CppCon 2020 канала CppCon
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”Back to Basics: Algebraic Data Types - Arthur O'Dwyer - CppCon 2020Making Games Start Fast: A Story About Concurrency - Mathieu Ropert - CppCon 2020How C++20 Changes the Way We Write Code - Timur Doumler - CppCon 2020Retiring the Singleton Pattern: Concrete Suggestions for What to use Instead - Peter MuldoonCppCon 2017: Ansel Sermersheim “Multithreading is the answer. What is the question? (part 1 of 2)”CppCon 2019: Klaus Iglberger “Back to Basics: Move Semantics (part 1 of 2)”Breaking Dependencies: The SOLID Principles - Klaus Iglberger - CppCon 2020CppCon 2019: Andrei Alexandrescu “Speed Is Found In The Minds of People"Back to Basics: RAII and the Rule of Zero - Arthur O'Dwyer - CppCon 2019CppCon 2016: Jason Turner “Practical Performance Practices"Monoids, Monads, and Applicative Functors: Repeated Software Patterns - David Sankel - CppCon 2020Memory-Mapped Devices as Objects - Dan Saks - CppCon 2020CppCon 2014: Herb Sutter "Back to the Basics! Essentials of Modern C++ Style"C++20: An (Almost) Complete Overview - Marc Gregoire - CppCon 2020Back to Basics: Unit Tests - Ben Saks - CppCon 2020Back to Basics: Lambdas from Scratch - Arthur O'Dwyer - CppCon 2019Adventures in SIMD-Thinking (part 1 of 2) - Bob Steagall - CppCon 2020CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”