Когда использовать System.Threading.ThreadPool и когда один из множества настраиваемых пулов потоков?

Я работаю над созданием асинхронного обработчика для ASP.NET, который будет выполнять медленную хранимую процедуру. Думаю, я понимаю, что для получения дополнительной пропускной способности при смешанной загрузке медленных и быстрых страниц медленная страница должна выполняться в пуле потоков отдельно от того, который использует ASP.NET , в противном случае - асинхронный шаблон. приведет к тому, что будет использовано вдвое больше дефицитных нитей (поправьте меня, если я ошибаюсь).

Итак, я нашел System.Threading.ThreadPool - похоже, он должен помочь, но ...

Различные учебные пособия в сети, такие как , этот , который использует этот настраиваемый пул , тот, который находится в MiscUtils Джона Скита , и упоминается настраиваемый пул потоков в этом руководстве по асинхронным шаблонам .

System.Threading.ThreadPool существует с версии 1.1 - почему люди обычно испытывают потребность писать совершенно новый? Следует ли мне избегать использования System.Threading.ThreadPool ?

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

ОБНОВЛЕНИЕ . Выполняемая хранимая процедура не обязательно будет MS-SQL и не обязательно сможет использовать встроенный асинхронный метод, такой как BeginExecuteNonQuery () .

7
задан Dawid Ferenczy Rogožan 15 February 2016 в 16:07
поделиться