Я понимаю, что TPL использует очереди для кражи работы для своих задач, когда я выполняю такие вещи, как Parallel.For и подобные конструкции.
Если я правильно понимаю, конструкция будет ускорять ряд задач, каждая из которых начнет обработку элементов. Если одна из задач завершит выполнение выделенных им предметов, она начнет кражу предметов из других задач, которые еще не выполнили свои. Это решает проблему, когда элементы 1-100 являются дешевыми для обработки, а элементы 101-200 являются дорогостоящими, и одна из двух задач будет простаивать, пока другая не будет завершена. (Я знаю, что это упрощенное объяснение.)
Однако как это будет масштабироваться на терминальном сервере или в веб-приложении (при условии, что мы используем TPL в коде, который будет выполняться в веб-приложении)? Можем ли мы рискнуть насытить процессоры задачами только потому, что N экземпляров нашего приложения работают рядом?
Есть ли какая-либо информация по этой теме, которую я должен прочитать? Я еще ничего не нашел, но это не значит, что его нет.