NumberOfParallelTasks)
{
var syncRoot = new object();
if (enumerable == null) return;
var enumerator...enumerator.MoveNext())
break;
seedItemArray[i] = enumerator.Current;
}...var iAsyncResult = del.BeginInvoke(enumerator, action, seedItemArray[i], syncRoot, i, null, null);...,
Action achtion, T item, object syncRoot, int i);
static void InvokeAction(IEnumerator enumerator...();
if (moveNext)
item = enumerator.Current;
}
}
}
}
整个算法非常简洁