Чем больше я использую Parallel.ForEach и PLINQ в своем коде, тем больше я получаю откликов и повторений кода.Поэтому мне интересно, есть ли причина, по которой я НЕ должен использовать PLINQ, в крайнем случае, для каждого оператора LINQ?Может ли среда выполнения не быть достаточно умной, чтобы начать порождать так много потоков (или потреблять столько потоков из пула потоков), что производительность приложения будет снижаться, а не улучшаться?Тот же вопрос относится к параллельной библиотеке.
Я понимаю последствия, связанные с безопасностью потоков и издержками использования многопоточности.Я также понимаю, что не все хорошо для распараллеливания.Все, что меня интересует, стоит ли мне прекратить защищать свои подходы и просто отказаться от этих двух замечательных вещей, потому что мои коллеги считают, что мне лучше самому управлять потоками, чем полагаться на средства .NET?
ОБНОВЛЕНИЕ: пожалуйстаПредположим, что аппаратное обеспечение достаточно хорошо, чтобы удовлетворить предварительные условия использования многопоточности.