using System.Threading.Tasks;
static async Task Main(string[] args)
Console.WriteLine("Create and don't await tasks");
await Task.WhenAll(t1, t2);
Console.WriteLine("Create and await tasks");
static async Task Task1Async()
Console.WriteLine($"1.1, {Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine($"1.2, {Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine($"1.3, {Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine($"1.4, {Thread.CurrentThread.ManagedThreadId}");
static async Task Task2Async()
Console.WriteLine($"2.1, {Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine($"2.2, {Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine($"2.3, {Thread.CurrentThread.ManagedThreadId}");
Console.WriteLine($"2.4, {Thread.CurrentThread.ManagedThreadId}");