Похоже, что ваше приложение использует основной поток (оно может выполнять встроенную работу в основном потоке) и переключаться между тремя рабочими потоками CLR в нижней части этого списка.Для разных частей ForEach нормально быть планировщиком в разных потоках.
Нажмите на один из зеленых (блоки выполнения в одном из этих потоков), чтобы проверить стек классов и посмотреть, действительно ли он работает на вашем ForEach,Вы должны увидеть что-то вроде:
System.Threading.Parallel...<PartitionerForEachWorker>...
в верхней части списка.
Вы также увидите, что серая панель маркеров сценария появляется сверху и снизу представления с надписью "Parallel.ForEach".«Это полезно для того, чтобы увидеть, где ваше приложение было на самом деле внутри кода, который вас интересует.
Изображение довольно маленькое, поэтому трудно сказать больше, хотя есть достаточное количество желтого цвета, указывающее на то, что ваши потоки вытесняются(перехвачено другой работой).Это может быть связано с тем, что вы делаете внутри цикла и / или с другими вещами, происходящими в вашем приложении.
Более подробную информацию об использовании профилировщика в параллельных приложениях можно найти здесь:
http://msdn.microsoft.com/en-us/library/ff963545.aspx