Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BatchBlock<int> batchBlock = new BatchBlock<int>(5);
- async Task Main()
- {
- async Task Data1Process()
- {
- Console.WriteLine("S Data1Process");
- await Task.Delay(5000);
- Console.WriteLine("E Data1Process");
- }
- async Task Data2Process()
- {
- Console.WriteLine("S Data2Process");
- throw new Exception();
- await Task.Delay(5000);
- Console.WriteLine("E Data2Process");
- }
- var actionBlockExecutor = new ActionBlock<Func<Task>>(async funct =>
- {
- await funct();
- },
- new ExecutionDataflowBlockOptions
- {
- MaxDegreeOfParallelism = DataflowBlockOptions.Unbounded,
- EnsureOrdered = true
- });
- actionBlockExecutor.Post(Data1Process);
- actionBlockExecutor.Post(Data2Process);
- actionBlockExecutor.Complete();
- Console.WriteLine("Complete");
- actionBlockExecutor.Completion.Wait();
- Console.WriteLine("Completed");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement