Вот как выглядит мой цикл:
var loopResult = Parallel.ForEach(folder.Items.Cast<object>(), (item, loopState) =>
{
if (!loadData)
{
loopState.Stop();
return;
}
DoSomeWork(item);
}
);
if (loopResult.IsCompleted)
{
Debug.WriteLine("done");
}
Проблема в том, что код никогда не доходит до if (loopResult.IsCompleted)
. После выполнения return;
для всех различных потоков абсолютно ничего не происходит.