Challenge 2: Two Tasks Running Concurrently — Possible Solution ==================================================================== Program.cs: static async Task TaskOneAsync() { await Task.Delay(1000); Console.WriteLine("Task one finished."); } static async Task TaskTwoAsync() { await Task.Delay(1000); Console.WriteLine("Task two finished."); } static async Task Main() { var stopwatch = System.Diagnostics.Stopwatch.StartNew(); Task first = TaskOneAsync(); // started, NOT awaited yet Task second = TaskTwoAsync(); // started, NOT awaited yet await first; await second; Console.WriteLine($"Both finished in ~{stopwatch.ElapsedMilliseconds}ms"); } Output: Task one finished. Task two finished. Both finished in ~1000ms Explanation: Calling TaskOneAsync() and TaskTwoAsync() without awaiting them immediately starts both -- each begins its own 1-second delay right away, running concurrently rather than one after another. If they had run sequentially (awaiting each one immediately after calling it), the total elapsed time would be roughly 2000ms. Because both Task.Delay calls are in flight at the same time, the whole thing finishes in roughly 1000ms instead -- direct proof the two awaited operations overlapped rather than running back to back. WHY THIS WORKS AS AN ANSWER ------------------------------ This demonstrates concurrent execution by deferring the await calls until after both async methods have already been started, with the measured elapsed time (~1000ms, not ~2000ms) providing concrete proof the two delays ran in parallel rather than sequentially.