Grpc:只有一个服务器线程处理所有请求

时间:2016-12-01 16:20:48

标签: c# multithreading grpc

我有一个用C#编写的grpc服务,它有2个调用,如Start和Stop。当客户端调用Start(此调用需要很长时间),然后在grpc启动4个线程时,Stop服务器同步处理请求。

2016-12-01 18:55:14,199,INFO,grpc 2 (cq 2),0 parsing.c:659: HTTP:17:HDR:SVR: :path: /Service/Start
2016-12-01 18:55:14,303 [grpc 2 (cq 2)] DEBUG [RPC:27] Start
2016-12-01 18:55:14,822,INFO,grpc 0 (cq 0),0 parsing.c:659: HTTP:19:HDR:SVR: :path: /Service/Stop
2016-12-01 18:55:33,661 [grpc 2 (cq 2)] DEBUG [RPC:27] Stop

请您帮我理解它是否按设计运行,或者我错过了任何其他设置?

1 个答案:

答案 0 :(得分:0)

它按设计运行,你必须在同步调用中使用async / await来避免阻塞完成队列的线程。