Condition Variables
/
0 Comments
Condition variables allow us to synchronize threads via notifications. So, you can implement workflows…
Thread-Local Data
By using the keyword thread_local, you define the thread local data. Thread-local can easily be…
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…
Prefer Locks to Mutexes
If the previous post showed something, it's that you should use mutexes with great care. That's why you…
The Risks of Mutexes
The usage of mutexes seems extremely simple. There is a critical section in the code that a single thread…
Reader-Writer Locks
With C++14 came reader-writer locks. The idea is straightforward and promising. Arbitrary reading threads…
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…
Threads Sharing Data
One of the biggest challenges of thread management begins when the threads share non-const data
Data…
Thread Arguments
A thread gets its data by copy or by reference. By default, you should use by copy. Why? In case your…
Threads Lifetime
The parent has to take care of their child. This simple idea has big consequences for a thread lifetime.…
For the Proofreaders and the Curious People
After a lot of discussion with my proofreaders, we finally have a process to publish the articles.
How…
Thread Creation
Thread creation is easy. Call std::thread, and a new thread will be created. The thread gets a…