Потоковая безопасность возврата дохода с Parallel.ForEach ()

Рассмотрим следующий пример кода, который создает перечислимую коллекцию целых чисел и обрабатывает ее параллельно:

using System.Collections.Generic;
using System.Threading.Tasks;

public class Program
{
    public static void Main()
    {
        Parallel.ForEach(CreateItems(100), item => ProcessItem(item));
    }

    private static IEnumerable<int> CreateItems(int count)
    {
        for (int i = 0; i < count; i++)
        {
            yield return i;
        }
    }

    private static void ProcessItem(int item)
    {
        // Do something
    }
}

Гарантируется ли, что рабочие потоки генерируютсяParallel.ForEach() каждый получает отдельный элемент или является механизмом блокировки приращения и возвратаi требуется?

Ответы на вопрос(2)

Ваш ответ на вопрос