A Lock-Free Stack: A Hazard Pointer Implementation Explained I

In my last post, I presented a hazard pointer implementation: A Lock-Free Stack: A Hazard Pointer Implementation.…

My ALS Journey (21/n): ALS Fundraiser by Jen and Jason

Today, I want to present you something special. >> My ALS Journey so far << ALS Fundraiser…

A Lock-Free Stack: A Hazard Pointer Implementation

Hazard Pointers solve all issues of the previous implementation: A Lock-Free Stack: A Simple Garbage…

A Lock-Free Stack: A Simple Garbage Collector

My next lock-free stack includes a simple garbage collector. I discussed the concurrent execution…

A Lock-Free Stack: Atomic Smart Pointer

The easiest way to solve this memory leak issue from the last post is to use a std::shared_ptr. Atomic…

A Lock-Free Stack: A Complete Implementation

My last lock-free stack implementation was incomplete. It only supported push operations. Let's change…

My ALS Journey (20/n): Aids

Today, I would like to introduce all the important aids that allow me and Beatrix to get through the…

My Next Mentoring Program: “Generic Programming (Templates) with C++” starts

/
My next mentoring program, "Embedded Programming with Modern C++," starts on January 31st. Registration…

A Lock-Free Stack: A Simplified Implementation

Today, I continue my mini story about lock-free data structures. General Considerations From…

Deferred Reclamation in C++26: Read-Copy Update and Hazard Pointers

Before I dive into lock-free programming, there's a little bit of theory necessary. A common…

std::format Extension

Displaying the address of an arbitrary pointer in C++ 20 fails but succeeds with C++26. C++20 Only…

C++26 Library: string and string_view Processing

C++26 offers many small improvements around strings and string_views. First of all: What is…