Threads vs Coroutines — Why C++ Has Two Concurrency Models - Conor Spilsbury - CppCon 2025
https://cppcon.org --- Threads vs Coroutines — Why C++ Has Two Concurrency Models - Conor Spilsbury - CppCon 2025 --- The C++11 standard introduced a powerful set of tools for concurrency such as threads, mutexes, condition variables, and futures. More recently, C++20 introduced another powerful but fundamentally different concurrency abstraction in the form of coroutines. But coroutines are not just an evolution or a replacement for threads. Instead, they each solve different problems in different ways. Choosing the right tool for the job requires understanding how each works under the hood and where they shine. This talk will help build that intuition by looking at how each interacts with the operating system and hardware which will help make better decisions when choosing which to use. We'll explore how threads and synchronization primitives work at the operating-system and hardware level, from thread creation and scheduling to where context switching and synchronization introduce performance costs. We’ll then contrast this to the coroutine model introduced in C++20 which takes a fundamentally different approach by using a cooperative model based on the suspension and resumption of work. Given this understanding, we’ll finish by applying this intuition to a set of real-world scenarios to identify whether threads or coroutines are a better fit for the problem at hand. --- Slides: https://github.com/CppCon/CppCon2025/... Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf --- Conor Spilsbury Conor Spilsbury is a Senior Software Engineer at Bloomberg, where he works on the Listed Securities’ Execution Management System (EMSX). EMSX is a high-performance, high-throughput multi-asset trading solution. Conor is also the chair of Bloomberg's C++ Guild. He holds a master’s degree in mathematics from the University of Exeter. --- CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in Aurora, Colorado, near the Denver airport, and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts. Annual CppCon Conference - https://www.cppcon.org / cppcon https://x.com/cppcon / cppconference / cppcon https://mastodon.social/@CppCon --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com YouTube Channel Managed by Digital Medium Ltd: https://events.digital-medium.co.uk --- #cpp #cplusplus #cppcon #cppprogramming #cplusplusprogramming #softwaredevelopment #softwareengineering #coding #code #computerscience #technology #technews #programming #programmer

The Joy of C++26 Contracts - Myths, Misconceptions & Defensive Programming - Herb Sutter

Keynote: Benchmarking - It's About Time - Matt Godbolt - C++Now 2026

Streaming Made Easy: Practical Postgres CDC with Streamkap + MotherDuck

The Cost of Concurrency Coordination with Jon Gjengset

Back to Basics: Custom Allocators Explained - From Basics to Advanced - Kevin Carpenter - CppCon

Cache-Friendly C++ - Jonathan Müller - CppCon 2025

Google & AWS Veteran: What Top Tier Software Architects Do Differently

C++: Some Assembly Required - Matt Godbolt - CppCon 2025

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Choose the Right C++ Parallelism Tool | Low-Level vs Async vs Coroutines vs Data Parallel

When Nanoseconds Matter: Ultrafast Trading Systems in C++ - David Gross - CppCon 2024

CppCon 2014: Mike Acton "Data-Oriented Design and C++"

Compiler Explorer: The Features You Never Knew Existed - Matt Godbolt - CppCon 2025

The Scariest Chart in Electrical Engineering

Cache Me Maybe: The Performance Secret Every C++ Developer Needs - Michelle D'Souza - CppCon 2025

Keynote: Reflection Is Only Half the Story - Barry Revzin - C++Now 2026

Age of Empires: 25+ years of pathfinding problems with C++ - Raymi Klingers - Meeting C++ 2025

Why Every C++ Game Developer Should Learn SDL 3 Now - Mike Shah - CppCon 2025

Introduction to C++ Coroutines and gRPC and How to Write Coroutine Support Code - Jonathan Storey

