using System.Threading.Tasks;
static async Task<String> FooAsync() {
Random rnd = new Random();
await Task.Delay(rnd.Next(100,1000));
Console.WriteLine("foo");
static async Task<String> BarAsync() {
Random rnd = new Random();
await Task.Delay(rnd.Next(100,1000));
Console.WriteLine("bar");
static async Task<Parallel> MakeParallel() {
public static void Main()
var p = Task.Run(Program.MakeParallel);