using System.Collections.Generic;
using System.Threading.Tasks;
public static void Main()
public async static Task DoMyWork()
var t1=Task.Factory.StartNew(WorkItem1);
var t2=Task.Factory.StartNew(WorkItem2);
var t3=Task.Factory.StartNew(WorkItem3);
var t4=Task.Factory.StartNew(WorkItem4);
var t5=Task.Factory.StartNew(WorkItem5);
await Task.WhenAll(t1,t2,t3,t4,t5);
Console.WriteLine("All Done");
public static void WorkItem1()
Console.WriteLine("Working 1");
public static void WorkItem2()
Console.WriteLine("Working 2");
public static void WorkItem3()
Console.WriteLine("Working 3");
public static void WorkItem4()
Console.WriteLine("Working 4");
public static void WorkItem5()
Console.WriteLine("Working5");