Asynchronous Function Calls
/
0 Comments
std:.async feels like an asynchronous function call. Under the hood std::async is a task. One, which…
Tasks
Tasks were one of the latest additions to the C++11 standard. They give you a better abstraction than…
Condition Variables
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…