Numerous times in my career I have come across code that appears to be asynchronous, or multi-threaded, but the tasks are actually executed one at a time. This usually happens when existing code is retrofitted to use async/await or when there are layered function calls and complicated logic. The