В родителях и ребенке параллельно. Foreachasync Loops. Каждый экземпляр переменных родителей принадлежит только к детямC#

Место общения программистов C#
Anonymous
В родителях и ребенке параллельно. Foreachasync Loops. Каждый экземпляр переменных родителей принадлежит только к детям

Сообщение Anonymous »

Являются ли дети, которые ниже гарантированно будут охватывать итерацию одного из родителей, которая в настоящее время интенсирует и итерация детей? Значение, будет ли 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

Вернуться в «C#»