Posts

TimelineCpp20

Executing a Future in a Separate Thread with Coroutines

/
This post concludes my posts about co_return in C++20. I started with an eager future, and continued…
TimelineCpp20

Lazy Futures with Coroutines

/
Based on the coroutines-based implementation of a simple future in my last post "Implementing Simple…
TimelineCpp20

Implementing Simple Futures with Coroutines

/
Instead of return, a coroutine uses co_return returning its result. In this post, I want to implement…
TimelineCpp20CoreLanguage

Synchronization with Atomics in C++20

/
Sender/receiver workflows are pretty common for threads. In such a workflow, the receiver is waiting…
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…
thread 841607 640

C++ Core Guidelines: More Rules about Concurrency and Parallelism

/
Writing multithreading programs is hard, even harder if the program should be correct. The rules of the…
async

std::future Extensions

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

Multithreaded: Summation with Minimal Synchronization

/
Until now, I've used two strategies to summate a std::vector. First, I did the whole math in one thread…
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.…
async

The Special Futures

/
The parent of a thread has to take care of their child. The parent can wait until his child is done or…