using System;
using System.Threading.Tasks;
public class Program
{
public static async Task Main()
Console.WriteLine("Hello World");
await Task.WhenAll(DoForever(), DoForever(), DoForever(), DoForever(), DoForever());
}
private static async Task DoForever() {
Console.WriteLine("starting...");
// if you remove this "useless" await, only one DoForever() will actually get started
await Task.Delay(TimeSpan.FromMilliseconds(10));
while (true) {}