C++11 Concurrency – Part 1 : Start Threads

C++ Logo
This entry is part 1 of 5 in the series C++11 Concurrency Tutorial

This entry is part 1 of 5 in the series C++11 Concurrency TutorialC++11 introduced a new thread library. This library includes utilities for starting and managing threads. It also contains utilities for synchronization like mutexes and other locks, atomic variables and other utilities. In this serie of posts, I will try to explain most of [...]



C++11 Concurrency Tutorial – Part 2 : Protect shared data

C++ Logo
This entry is part 2 of 5 in the series C++11 Concurrency Tutorial

This entry is part 2 of 5 in the series C++11 Concurrency TutorialIn the previous article, we saw how to start threads to execute some code in parallel. All the code executed in the threads were independant. In the general case, you often use shared objects between the threads. And when you do it, you [...]



C++11 Concurrency Tutorial – Part 3: Advanced locking and condition variables

This entry is part 3 of 5 in the series C++11 Concurrency Tutorial

This entry is part 3 of 5 in the series C++11 Concurrency TutorialIn the previous article, we saw how to use mutexes to fix concurrency problems. In this post, we will continue to work on mutexes with more advanced techniques. We will also study another concurrency technique of the C++11 Concurrency Library: condition variables. Recursive [...]



C++11 Concurrency Tutorial – Part 4: Atomic Types

C++ Logo
This entry is part 4 of 5 in the series C++11 Concurrency Tutorial

This entry is part 4 of 5 in the series C++11 Concurrency TutorialIn the previous article, we saw advanced techniques about mutexes. In this post, we will continue to work on mutexes with more advanced techniques. We will also study another concurrency technique of the C++11 Concurrency Library: Atomic Types Atomic Types We will take, [...]



C++11 Synchronization Benchmark

C++ Logo
This entry is part 5 of 5 in the series C++11 Concurrency Tutorial

This entry is part 5 of 5 in the series C++11 Concurrency TutorialIn the previous parts of this serie, we saw some C++11 Synchronization techniques: locks, lock guards and atomic references. In this small post, I will present the results of a little benchmark I did run to compare the different techniques. In this benchmark, [...]