Я читаю книгу C # 4.0, в которой приведены следующие значения по умолчанию для максимального ограничения потока для пула потоков.
- 1023 в Framework 4.0 в 32-разрядной среде
- 32768 в Framework 4.0 в 64-битной среде
- 250 на ядро в Framework 3.5
- 25 на ядро в Framework 2.0
Может кто-нибудь сказать мне, что, возможно, вызвало такое значительное увеличение значений по умолчанию, особенно для 64-битных? Были ли решены проблемы с переключением контекста?
Раньше мы устанавливали разумные ограничения на размер пула потоков, потому что, кажется, есть приятное место, после которого наше приложение замедляется из-за переключения контекста. Естественно, мы проведем стресс-тест и проведем повторный тест после обновления целевой структуры. Но может ли кто-нибудь пролить свет на то, какие улучшения были внесены для обеспечения большего пула потоков? Или просто MS увеличивает значения по умолчанию, чтобы выглядеть эффектно?