Task Blocks

Task blocks use the well-known fork-join paradigm for the parallel execution of tasks.

Read more
Tags: C++20
Add CommentViews: 3830

Transactional Memory

Transactional memory is based on the idea of a transaction from the database theory. Transactional memory shall make the handling with threads a lot easier. That for two reasons. Data races and deadlocks disappear. Transactions are composable.

Read more
Tags: C++20
Comments 1Views: 3562

Coroutines

Coroutines are functions that can suspend and resume their execution while keeping their state. The evolution in C++20 goes one step further.

Read more
Tags: C++20
Add CommentViews: 4634

Latches And Barriers

Latches and barriers are simple thread synchronisation mechanism which enables it that some threads wait until a counter becomes zero. We will presumably get in C++20 latches and barriers in three variations: std::latch, std::barrier, and std::flex_barrier.

Read more
Tags: C++20
Comments 3Views: 2776

std::future Extensions

Tasks in the form of promises and futures have in C++11 an ambivalent reputation. At on hand, they are a lot easier to use than threads or condition variables; at the other hand, they have a great deficiency. They can not composed. C++20 will overcome this deficiency.

Read more
Tags: C++20, tasks
Add CommentViews: 3037

And the Winners are

Mads Ravn, Antonis Polykratis, Martin Mancuska, David Farago, Edgar Rojas, and Adrian Javaloy.

Read more
Add CommentViews: 989

Atomic Smart Pointers

C++20 will have atomic smart pointers. To be exactly, we will get a std::atomic_shared_ptr and a std::atomic_weak_ptr. But why? std::shared_ptr and std::weak_ptr are already thread-safe. Sort of. Let me dive into the details.

Read more
Tags: C++20
Add CommentViews: 5737

My Newest E-Book

Latest comments

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 196

All 329730

Currently are 210 guests and no members online