The End of my Detour: Unified Futures

After the last post to executors, I can now finally write about the unified futures. I write in the post about the long past of the futures and end my detour from the C++ core guidelines.

Read more
Add CommentViews: 6223

The Update of my Book "Concurreny with Modern C++"

The update of my book "Concurrency with Modern C++" is available. This version is a total rework of the previous one and includes also new sections such as for executors. In total, the book is 60 pages bigger.

Read more
Add CommentViews: 3364

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 E-Mail. He said my article about std::future Extensions is quite dated. Honestly, he is right. The future of the futures changed mainly because of executors.

Read more
Add CommentViews: 13353

C++ Core Guidelines: Be Aware of the Traps of Condition Variables

Today, I write a scary post about condition variables. You should be aware of this issues of condition variables. The C++ core guideline CP 42 just states: "Don't wait without a condition".

Read more
Comments 4Views: 38234

C++ Core Guidelines: More Traps in the Concurrency

Concurrency provides many ways to shoot yourself in the foot. The rules for today help you to know these dangers and to overcome them.

Read more
Add CommentViews: 4309

C++ Core Guidelines: Taking Care of your Child Thread

When you create a new child thread, you have to answer an important question: should you wait for the child or detach yourself from it? If you detach yourself from the newly created child, and your child uses variables which are bound to your lifetime as creator a new question arises: Will the variables stay valid during the lifetime of the child thread?

Read more
Add CommentViews: 11220

C++ Core Guidelines: Sharing Data between Threads

If you want to have fun with threads, you should share mutable data between them. In order to get no data race and, therefore, undefined behaviour, you have to think about the synchronisation of your threads.

Read more
Tags: lock, mutex
Add CommentViews: 13917

C++ Core Guidelines: Use Tools to Validate your Concurrent Code

Today, I'm happy to write about the probably most important rule of the C++ Core Guidelines for concurrency: Whenever feasible use tools to validate your concurrent code. Not all, but a lot of bugs can be detected with tools and each fixed bug is a good bug. Here are two tools which provided me precious help in the last years: ThreadSanitizer and CppMem.

Read more
Add CommentViews: 7796

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

Writing multithreading programs is hard, even harder if the program should be correct. The rules of the C++ Core Guidelines guide you to write correct programs. The rules of this post will deal with data races, sharing of data, tasks, and the infamous keyword volatile.

Read more
Add CommentViews: 13002

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 2827

All 1945263

Currently are 171 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments