Prefer Locks to Mutexes

If the previous post showed something, it's that you should use mutexes with great care. That's why you should wrap them in a lock.

Read more
Tags: lock, mutex
Views: 146358

The Risks of Mutexes

Usage of mutexes seems extremely simple. There is a critical section in the code, which can only be accessed by a single thread at any point of time. It's ensured by a mutex m. The calls m.lock() and m.unlock() guarantee this exclusivity. But, the devil is in the details.

Read more
Tags: mutex
Views: 34138

Thread Creation

Thread creation is easy. Call  std::thread, and a new thread will be created. The thread gets a work package and starts it immediately. The creator of the thread (the Parent) has to take care of the created thread (the child). The parent should wait until their child is done with its task or has to detach itself from its child. The child thread can get its payload task arguments by copy or by reference.

Read more
Views: 40021

Threads Sharing Data

One of the biggest challenges of thread management begins when the threads share non-const data

Read more
Views: 53070

Thread Arguments

A thread gets its data by copy or by reference. By default, you should use by copy. Why? In case your thread gets its data by reference, you have to be extremely careful about the lifetime of the arguments.

Read more
Views: 26662

Threads Lifetime

The parent has to take care of their child. This simple idea has big consequences for a thread lifetime. The following program starts a thread, that displays its ID.

Read more
Views: 34162

Mentoring

Stay Informed about my Mentoring

 

English Books

Course: Modern C++ Concurrency in Practice

Course: C++ Standard Library including C++14 & C++17

Course: Embedded Programming with Modern C++

Course: Generic Programming (Templates)

Course: C++ Fundamentals for Professionals

Interactive Course: The All-in-One Guide to C++20

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 328

Yesterday 6417

Week 13229

Month 33976

All 10955437

Currently are 182 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments