var ints = Enumerable.Range( 0, 10 ).ToList();
var source = new BufferBlock<int>();
var action = new ActionBlock<int>( async (i) => { Console.WriteLine( "Processing i" ); await Task.Delay(i*1000);}, new ExecutionDataflowBlockOptions() { MaxDegreeOfParallelism = -1 } );
Можно ли использовать поток данных TPL, чтобы ActionBlock извлекал только из буферного блока, если сумма всех обрабатываемых i <= 10. Таким образом, первый проход будет обрабатывать 1, 2, 3, 4; тогда 5 потянет, как только высвободится всего 5? </p>