
Cooperative Interruption of a Thread in C++20
/
0 Comments
A typical question in my C++ seminars is: Can a thread be killed? Before C++20, my answer is no. With…

Barriers and Atomic Smart Pointers in C++20
In my last post, I introduced latches in C++20. A latch enables its threads to wait until a counter becomes…

Latches in C++20
Latches and barriers are coordination types that enable some threads to wait until a counter becomes…

Semaphores in C++20
Semaphores are a synchronization mechanism used to control concurrent access to a shared resource. They…

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…

Synchronization with Atomics in C++20
Sender/receiver workflows are pretty common for threads. In such a workflow, the receiver is waiting…

Atomic References with C++20
Atomics receives a few essential extensions in C++20. Today, I start with the new data type std::atomic_ref.
The…

Bit Manipulation with C++20
This post concludes my presentation of library features in C++20. Today I am writing about the class…

Feature Testing with C++20
When your program's compilation broke with a brand-new C++20 feature, you often end with a few questions:…

Safe Comparisons of Integrals with C++20
When you compare signed and unsigned integers, you may not get the result you expect. Thanks to…