Как именно дескриптор относится к потоку? Я пишу сервис, который принимает HTTP-запрос и вызывает метод перед возвратом ответа. Я написал тестовый клиент, который отправляет 10 000 HTTP-запросов (используя семафор, чтобы убедиться, что за раз выполняется только 1000 запросов).
Если я вызову метод (метод, обработанный перед возвратом ответа) через ThreadPool или через универсальное действие <T>
.BeginInvoke, дескрипторы службы будут идти вверх и оставаться там до тех пор, пока весь запрос не будет завершен, но количество потоков службы остается практически мертвым.
Однако, если я синхронно вызываю метод перед возвратом ответа, счетчик потоков увеличивается, но счетчик дескрипторов будет проходить через экстремальные пики и впадины.
Это C # на машине с Windows (Server 2008)