Являются ли дети, которые ниже гарантированно будут охватывать итерацию одного из родителей, которая в настоящее время интенсирует и итерация детей? Значение, будет ли Parent.id в последних двух заявлениях всегда будет гарантированно будет родителем детей? Извините, если это неясно:/
await Parallel.ForEachAsync(parents, parentLoopThreads, async (parent, cancellationToken) =>
{
var childResults = new List();
var childern = await service.GetChildrenForParent(parent);
await Parallel.ForEachAsync(children, childLoopThreads, async (child, cancellationToken) =>
{
var result = await service.ProcessChild(child);
if(result.Success)
childResults.Add(new { ID=child.ID, Success=true});
else
childResults.Add(new { ID=child.ID, Success=false});
});
// will the childResults be scoped for the parent's iteration only
// Like each instacne of the parent loop gets it's own copy of results
service.LogErrors(parent.ID, childResults.Where(p=>p.Success==false).ToList());
service.DoSomething(parent.ID, childResults.Where(p=>p.Success==true).ToList());
});
Подробнее здесь: https://stackoverflow.com/questions/797 ... f-the-pare
В родителях и ребенке параллельно. Foreachasync Loops. Каждый экземпляр переменных родителей принадлежит только к детям ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение