Я понимаю, что каждый итерационный секционировщик дает оставшиеся индексы для потоков для обработки, а циклoState.Stop() останавливает все потоки, а loopState.Break() останавливает текущий поток.
Однако давайте рассмотрим следующую ситуацию:
Код: Выделить всё
Parallel.For(0, 100, (i, loopState) =>
{
if (i >= 10)
loopState.Break();
Debug.Write(i);
});
Код: Выделить всё
0 25 1 2 3 4 5 6 7 8 9 10
Кто-нибудь может помочь?
P.S. У меня процессор i5 520M (2 ядра => 4 потока)
Подробнее здесь: https://stackoverflow.com/questions/162 ... rallel-for
Мобильная версия