Слияние кода завершено, страница обновится автоматически
При проведении нагрузочного тестирования с использованием сообщений буса было выявлено наличие производственного затора при количестве около 4000 событий.
Parallel
приводит к снижению производительности примерно в 5 раз по сравнению с foreach
.Просмотрев ранние версии кода, стало известно, что ранее использовался foreach
. Хотелось бы узнать, по какой причине были сделаны такие изменения?
Parallel
создаются подпроцессы, а foreach
также создает подпроцессы непосредственно. Мне кажется, что использование Parallel
не демонстрирует никаких преимуществ.Буду благодарен за ответ!
// Увеличение пропускной способности путём параллелизации и решение проблемы Thread.Sleep
Parallel.ForEach(eventHandlersThatShouldRun, (eventHandlerThatShouldRun) =>
{
// Создание нового потока для выполнения
taskFactory.StartNew(async () =>