Как уменьшить количество экземпляров нескольких потоков до одного экземпляра потока в веб-API ASP.NET Core?C#

Место общения программистов C#
Anonymous
Как уменьшить количество экземпляров нескольких потоков до одного экземпляра потока в веб-API ASP.NET Core?

Сообщение Anonymous »

Я использую веб-API GRPC ASP.NET Core. Я хочу уменьшить экземпляр с несколькими потоками до экземпляра с одним потоком. Поэтому я использовал команду pstree, чтобы узнать, сколько потоков она вызвала.
Это результат:

Код: Выделить всё

  ├─node─┬─bash───dotnet─┬─TestGRPC───25*[{TestGRPC}]
│           │      │               └─16*[{dotnet}]
│           │      ├─2*[bash───htop]
│           │      ├─bash───pstree
│           │      └─14*[{node}]
Мы видим, что он вызывает экземпляр из 25 потоков. Я попытался сократить его до 4 экземпляров потока, используя приведенный ниже код. Но это не сработало.

Код: Выделить всё

bool isMin = ThreadPool.SetMinThreads(1, 1);
bool isMax = ThreadPool.SetMaxThreads(4, 4);

builder.WebHost.ConfigureKestrel(serverOptions =>
{
serverOptions.Limits.MaxConcurrentConnections = 1;
});
Вот результат, который я получил после установки максимального количества потоков на 4 и минимального количества потоков на 1

Код: Выделить всё

 ├─node───12*[{node}]
│           ├─node─┬─bash───dotnet─┬─TestGRPC───26*[{TestGRPC}]
│           │      │               └─23*[{dotnet}]
│           │      ├─2*[bash───htop]
│           │      ├─bash───pstree
│           │      └─14*[{node}]
Может ли кто-нибудь помочь мне контролировать количество экземпляров потоков, вызываемых веб-API ASP.NET Core?

Подробнее здесь: https://stackoverflow.com/questions/790 ... e-in-the-a

Вернуться в «C#»