Что такое параллельный ForEach C #?
Что такое параллельный ForEach C #?

Видео: Что такое параллельный ForEach C #?

Видео: Что такое параллельный ForEach C #?
Видео: Уроки C# (C sharp) | #10 - Цикл foreach 2024, Май
Anonim

Для каждого Цикл в C # выполняется в одном потоке, и обработка выполняется последовательно один за другим. Для каждого цикл - это базовая функция C #, доступная в C # 1.0. Его выполнение медленнее, чем у Параллельный.

Имея это в виду, что такое параллельный foreach C #?

Параллельный . Для каждого Метод в C # В Параллельный ForEach Метод в C # обеспечивает параллельный версия стандартная, последовательная Для каждого петля. В стандартном Для каждого В цикле каждая итерация обрабатывает один элемент из коллекции и обрабатывает все элементы только один за другим. Для и Параллельный.

Также знайте, как вы ждете завершения параллельного foreach? Ничего особенного делать не надо, Параллельный . Для каждого () буду ждать пока все его разветвленные задачи не будут полный . Из вызывающего потока вы можете рассматривать его как один синхронный оператор и, например, заключить его в команду try / catch. Вам это не нужно с Параллельный.

Учитывая это, работает ли foreach параллельно?

А Параллельный . Для каждого цикл работает как Параллельный . Для цикла. Цикл разделяет исходную коллекцию и планирует работа над несколько потоков в зависимости от системной среды.

Является ли параллельный foreach потокобезопасным?

Безопасность потоков Хотя написать параллельный foreach цикл, вы не можете просто вставить код из обычного для каждого цикл и ожидайте, что он просто сработает. Это означает, что код работает одинаково, даже если несколько потоки работают одновременно.

Рекомендуемые: