Multithreading with C++17 and C++20

/
Forecasts about the future are difficult. In particular, when they are about C++20. Nevertheless, I…
timeline

A new Thread with C++20: std::jthread

/
One of the participants in my CppCon 2018 workshop asked me: "Can a std::thread be interrupted?". No,…
technology 2025795 1280

The End of my Detour: Unified Futures

/
After the last post to executors, I can finally write about the unified futures. I write in the post…
timeline20 23

A Short Detour: Executors

/
A few weeks ago, one of the authors of the proposal to the futures in C++ Felix Petriconi wrote me an…
ForkJoin

Task Blocks

/
Task blocks use the well-known fork-join paradigm for the parallel execution of tasks. Who invented…
synchronized

Transactional Memory

/
Transactional memory is based on the idea of a transaction from the database theory. Transactional memory…
greedyGenerator

Coroutines

/
Coroutines are functions that can suspend and resume their execution while keeping their state. The evolution…
TimelineCpp20

Latches And Barriers

/
Latches and barriers are simple thread synchronization mechanisms, enabling some threads to wait until…
TimelineCpp20

std::future Extensions

/
Tasks in the form of promises and futures have in C++11 an ambivalent reputation. On the one hand, they…
TimelineCpp20

Atomic Smart Pointers

/
C++20 will have atomic smart pointers. To be exact, we will get a std::atomic_shared_ptr and a std::atomic_weak_ptr.…