Posts

DealingWithMutation

Dealing with Mutation: Guarded Suspension

/
Guarded Suspension applies a unique strategy to deal with mutation. It signals when it is done with…
TimelineCpp20CoreLanguage

Performance Comparison of Condition Variables and Atomics in C++20

/
After the introduction to std::atomic_flag in my last post, Synchronization with Atomics in C++20, I…
TimelineCpp20CoreLanguage

Synchronization with Atomics in C++20

/
Sender/receiver workflows are pretty common for threads. In such a workflow, the receiver is waiting…
trapMice

C++ Core Guidelines: Be Aware of the Traps of Condition Variables

/
Today, I am writing a scary post about condition variables. You should be aware of these issues of condition…
ConditionVariableVersusTask

Thread Synchronization with Condition Variables or Tasks

/
In case you use promise and future to synchronize threads, they have much in common with condition variables.…
conditionVariable

Condition Variables

/
Condition variables allow us to synchronize threads via notifications. So, you can implement workflows…