using System.Threading.Tasks;
public static async void Main()
Task.Factory.StartNew(() => GetSomething1()),
Task.Factory.StartNew(() => GetSomething2()),
Task.Factory.StartNew(() => GetSomething3())
await Task.WhenAll(tasks);
Console.WriteLine(DateTime.Now.ToLongTimeString());
Console.WriteLine(tasks[0].Result);
Console.WriteLine(tasks[1].Result);
Console.WriteLine(tasks[2].Result);
Console.WriteLine(DateTime.Now.ToLongTimeString());
public static int GetSomething1() { System.Threading.Thread.Sleep(100); return 1; }
public static int GetSomething2() { return 22; }
public static int GetSomething3() { return 333; }