For everyone having done multithreading and async programming, it’s fairly obvious that the amount of complexity required to (correctly) implement threading and async increases the cognitive requirements to understand the codebase to sometimes unfathomable amounts. Typically, this results in difficult to track down bugs, and over time what we often refer to as « spaghetti code » or « the big ball of mud ». To put this into context, I’d like to put forth a statement in regards to this.

Everyone who (falsely) believes they understand threading and async, don’t understand threading and async!

Source de l’article sur DZONE