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: 150675

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: 36318

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: 41585

Threads Sharing Data

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

Read more
Views: 55693

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: 28026

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: 35682

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)

All tags

Blog archive

Source Code

Visitors

Today 5667

Yesterday 7929

Week 21484

Month 165655

All 11646809

Currently are 219 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments