async

Asynchronous Function Calls

/
std:.async feels like an asynchronous function call. Under the hood std::async is a task. One, which…
tasksEng

Tasks

/
Tasks were one of the latest additions to the C++11 standard. They give you a better abstraction than…
conditionVariable

Condition Variables

/
Condition variables allow us to synchronize threads via notifications. So, you can implement workflows…
threadLocal

Thread-Local Data

/
By using the keyword thread_local, you define the thread local data. Thread-local can easily be…
callOnce

Thread-Safe Initialization of Data

/
The story is simple if the data is not modified when shared between threads. The data has only to be…
deadlockResolved

Prefer Locks to Mutexes

/
If the previous post showed something, it's that you should use mutexes with great care. That's why you…
Deadlock

The Risks of Mutexes

/
The usage of mutexes seems extremely simple. There is a critical section in the code that a single thread…
readerWriterLocks

Reader-Writer Locks

/
With C++14 came reader-writer locks. The idea is straightforward and promising. Arbitrary reading threads…
bossWorker

Source Code Repository

/
I created a repository for the source code. It's on GitHub and has the name ModernesCppSource:https://github.com/RainerGrimm/ModernesCppSource.git This…
bossWorker

Threads Sharing Data

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