Run your Boost Tests in parallel with CMake

CMake

I was looking for a Test Library to run eddic tests in parallel to replace Boost Test Library. I posted my question on StackOverflow and an awesome solution has been posted. With CMake and a little CMake additional file, it is possible to run the tests written with Boost Test Library in parallel without changing [...]



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, [...]



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 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 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 – 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 [...]



Java Concurrency – Part 7 : Executors and thread pools

Duke Cowboy Java
This entry is part 6 of 7 in the series Java Concurrency Tutorial

This entry is part 6 of 7 in the series Java Concurrency TutorialLet’s start with a new post in the Java concurrency series. This time we’ll learn how to start cleanly new threads and to manage thread pools. In Java, if you have a Runnable like this : You can easily run it in a [...]



Java Concurrency – Part 6 : Atomic Variables

Duke Cowboy Java
This entry is part 5 of 7 in the series Java Concurrency Tutorial

This entry is part 5 of 7 in the series Java Concurrency TutorialWhen a data (typically a variable) can be accessed by several threads, you must synchronize the access to the data to ensure visibility and correctness. By example, if you have a simple counter (yes, once again) : This class works really well in [...]



Java Concurrency – Part 5 : Monitors (Locks and Conditions)

Duke Cowboy Java
This entry is part 4 of 7 in the series Java Concurrency Tutorial

This entry is part 4 of 7 in the series Java Concurrency TutorialAfter seeing how to synchronize code using semaphores, we’ll see how to do that using monitors. Monitors are an other mechanism of concurrent programming. It’s a higher level mechanism than semaphores and also more powerful. A monitor is an instance of a class [...]



Java Synchronization (Mutual Exclusion) Benchmark

Duke Cowboy Java

I’ve created another benchmark. This time, I’ve benchmarked the different ways of synchronizing a little code using mutual exclusion on this code. The code to protect will be very simple. It’s a simple counter : The critical section, if not protected with synchronization system, will not function properly due to possible interleavings (read the article [...]