Advanced · Module 11 · Lesson 6 of 6
Modern Async Coordination: jthread, stop_token and barriers
Make worker lifetime, cancellation and phase completion explicit with C++20 thread-coordination primitives.
Pro — members onlyAbout 12 minutes
By the end you can
- Explain how jthread differs from thread during destruction
- Request cooperative cancellation with stop_token
- Use latches, barriers and futures for distinct completion patterns
Builds on Project: A Producer-Consumer Task Queue.
01 · A question first
A worker thread is still running when its owning object is destroyed, and a sleep-based shutdown sometimes hangs. Who owns the thread, how does it learn to stop, and how can several workers finish a phase exactly once?
Make a guess before you read on.
02 · The idea
Members only
Unlock the full lesson
This lesson is part of the membership. Join to read it in full, along with every other premium deep dive.
What's inside
- Start with the problem
- How the idea works
- Why it is correct
- What it costs
- Pitfalls and variations
- Production guidance
Something wrong with this lesson? Report a problem