Повышение приоритета, однако, должно выполняться только для задач, которые должны быстро реагировать и иметь короткое время выполнения, поскольку это может негативно повлиять на другие процессы.

ернете и переполнении стека есть много мест, где не рекомендуется менять приоритетThreadPool поток или TPLзадача, В частности:

«У вас нет контроля над состоянием и приоритетом потока пула потоков».
«Среда выполнения управляет пулом потоков. У вас нет контроля над планированием потока, а также вы не можете изменить приоритет потока».

«Вы не должны менять Культуру, Приоритет или ... PoolThread. Так же, как вы не красите и не перекрашиваете прокатный автомобиль».

«Существует несколько сценариев, в которых целесообразно создавать собственные потоки и управлять ими, а не использовать потоки пула потоков: (например, ...) Требуется, чтобы поток имел определенный приоритет».

«Каждый поток в ThreadPool выполняется с приоритетом по умолчанию, и код для изменения ThreadPriority не действует».

Тем не менее, это просто сделать, и отладчик показывает, что изменениеделает похоже на прилипание (поскольку значение можно прочитать обратно).

Thread.CurrentThread.Priority = ThreadPriority.AboveNormal;

Таким образом, вопрос в том, что является конкретнымпричина для этого конкретного табу?

Мое подозрение: это нарушает тонкие предположения о балансировке нагрузки пула. Но это не объясняет, почему некоторые источники говорят, что выне может Измени это.

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

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