using System.Threading.Tasks;
public static void Main()
DateTime startTime = DateTime.UtcNow;
MainAsync().GetAwaiter().GetResult();
TimeSpan executionTime = DateTime.UtcNow - startTime;
Console.WriteLine("Execution took " + executionTime.TotalSeconds);
private static async Task MainAsync()
for (int i = 0; i < 5; i++)
private static Task DoWork(int delayInMs)
return Task.Delay(delayInMs);