using System.Threading.Tasks;
public static async Task Main()
var r = Enumerable.Range(0, 1000);
var batches = r.Chunk(20);
foreach(var batch in batches)
Console.WriteLine($"Processing batch {batchNumber++}");
Parallel.ForEach(batch, SquareItAndPrint);
await Task.CompletedTask;
public static void SquareItAndPrint(int n)
Console.WriteLine($"{n} -> {squared}");