=========
Core Java Concurrency 2 Examples
Relevant Articles:
- Using a Mutex Object in Java
 - Testing Multi-Threaded Code in Java
 - How to Check if All Runnables Are Done
 - Parallelize for Loop in Java
 - How to Effectively Unit Test CompletableFuture
 - How to Collect All Results and Handle Exceptions With CompletableFuture in a Loop
 - CompletableFuture runAsync() vs. supplyAsync() in Java
 - Difference Between thenApply() and thenApplyAsync() in CompletableFuture