![BlockingNonBlocking](https://www.modernescpp.com/wp-content/uploads/2017/06/BlockingNonBlocking.png)
Blocking and Non-Blocking Algorithms
/
0 Comments
Blocking, non-blocking, lock-free, and wait-free. Each of these terms describes a key characteristic…
Malicious Race Conditions and Data Races
This post is about malicious race conditions and data races. Malicious race conditions are race conditions…
![account](https://www.modernescpp.com/wp-content/uploads/2017/05/account.png)
Race Conditions versus Data Races
Race conditions and data races are related but different concepts. Because they are related, they are…
![ForkJoin](https://www.modernescpp.com/wp-content/uploads/2017/02/ForkJoin.png)
Task Blocks
Task blocks use the well-known fork-join paradigm for the parallel execution of tasks.
Who invented…
![synchronized](https://www.modernescpp.com/wp-content/uploads/2017/03/synchronized.png)
Transactional Memory
Transactional memory is based on the idea of a transaction from the database theory. Transactional memory…
![greedyGenerator](https://www.modernescpp.com/wp-content/uploads/2017/02/greedyGenerator.png)
Coroutines
Coroutines are functions that can suspend and resume their execution while keeping their state. The evolution…
![TimelineCpp20](https://www.modernescpp.com/wp-content/uploads/2017/02/TimelineCpp20.png)
Latches And Barriers
Latches and barriers are simple thread synchronization mechanisms, enabling some threads to wait until…
![seq](https://www.modernescpp.com/wp-content/uploads/2017/02/seq.png)
std::future Extensions
Tasks in the form of promises and futures have in C++11 an ambivalent reputation. On the one hand, they…
![seq](https://www.modernescpp.com/wp-content/uploads/2017/02/seq.png)
Atomic Smart Pointers
C++20 will have atomic smart pointers. To be exact, we will get a std::atomic_shared_ptr and a std::atomic_weak_ptr.…
![seq](https://www.modernescpp.com/wp-content/uploads/2017/02/seq.png)
Parallel Algorithms of the Standard Template Library
The idea is quite simple. The Standard Template has more than 100 algorithms for searching, counting,…