using System.Threading.Tasks;
using System.Diagnostics;
public static async Task Main()
Stopwatch sw = Stopwatch.StartNew();
Task<string> coffeeTask = MakeCoffeeAsync();
Task<string> breadTask = ToastBreadAsync();
Task<string> jamTask = ApplyJamToBreadAsync();
await Task.WhenAll(coffeeTask, breadTask, jamTask);
string coffeeResult = await coffeeTask;
string breadResult = await breadTask;
string jamResult = await jamTask;
Console.WriteLine(coffeeResult);
Console.WriteLine(breadResult );
Console.WriteLine(jamResult );
Console.WriteLine(sw.Elapsed);
public static async Task<string> MakeCoffeeAsync()
return("Coffee is Ready");
public static async Task<string> ToastBreadAsync()
return ("Bread is Toasted");
public static async Task<string> ApplyJamToBreadAsync()
return ("Jam added to Bread");