Concurrency is what makes our software more performant and scalable. At the same time, this spawns problems related to synchronisation and orchestration. It’s possible to miss the bottleneck, but the wrong use of concurrency can cause data races, deadlocks, or even memory corruption. Along with you I’m going to dissect…