一个GRPC通道请求是否会在GRPC服务器端产生一个新的线程?

Does one GRPC channel request generate one more new thread in the GRPC server side?

我是 GRPC 的新手。我想知道当一个 GRPC 客户端启动一个请求时,服务器是否启动一个新线程来处理。

最多可能有一个 Runnable 排队到 Server's executor 进行申请处理。随着时间的推移,每个请求可能会生成多个 Runnable,但在给定时间只会生成一个。默认执行器是一个无限缓存线程池,所以最坏情况下每个请求最初都有自己的线程,但以后的请求通常会重用以前的线程。

高 QPS 服务最好指定一个固定大小的执行器,以避免线程数量过多并减少上下文切换抖动。