using System.Threading.Tasks;
using System.Threading.Tasks.Dataflow;
using System.Diagnostics;
public static void Main()
Console.WriteLine("Hello World");
Console.WriteLine("Finished");
private static async Task task1()
Stopwatch sw = Stopwatch.StartNew();
Console.WriteLine("Elapsed time is " + sw.ElapsedMilliseconds);
private static async Task task2()
var actionBlock = new ActionBlock<int>(task3, new ExecutionDataflowBlockOptions{MaxDegreeOfParallelism = 1, BoundedCapacity = 7, EnsureOrdered = true, });
await actionBlock.SendAsync(10).ConfigureAwait(false);
await actionBlock.Completion.ConfigureAwait(false);
private static async Task task3(int x)