TimelineCpp20Interruption

Cooperative Interruption of a Thread in C++20

/
A typical question in my C++ seminars is: Can a  thread be killed? Before C++20, my answer is no. With…
TimelineCpp20

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…
TimelineCpp20

Latches in C++20

/
Latches and barriers are coordination types that enable some threads to wait until a counter becomes…
TimelineCpp20

Semaphores in C++20

/
Semaphores are a synchronization mechanism used to control concurrent access to a shared resource. They…
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…
TimelineCpp20CoreLanguage

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…
TimelineCpp20CoreLanguage2

Bit Manipulation with C++20

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

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:…
TimelineCpp20CoreLanguage

Safe Comparisons of Integrals with C++20

/
 When you compare signed and unsigned integers, you may not get the result you expect. Thanks to…