Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
High-performance native telemetry engine
·
Module 3
Concurrency Fundamentals with Locks
1
Thread Management with `std::thread`
Create and manage threads using `std::thread`.
2
Detecting Race Conditions
Identify data races and race conditions in concurrent code.
3
Protecting Shared Data with Mutex and Lock Guard
Protect shared data using `std::mutex` and `std::lock_guard`.
4
Signaling with `std::condition_variable`
Use `std::condition_variable` to signal between threads and prevent busy-waiting.
5
Producer-Consumer with Mutexes and Condition Variables
Implement a basic producer-consumer pattern using mutexes and condition variables.
6
Understanding Lock Contention and False Sharing Performance Costs
Explain the performance cost of lock contention and false sharing.
7
Thread-Local Storage: Per-Thread Data
Use thread-local storage for per-thread data.
8
The Observer Effect in Performance Measurement
Describe the 'observer effect' in performance measurement.
Previous module
Modern C++ and Manual Memory Management
Next module
Low-Level Concurrency: Atomics and Memory Models