【发布时间】:2019-04-17 05:20:41
【问题描述】:
我在 golang 中创建了一个示例 gRPC 客户端和服务器(使用了 protobufs)。我了解 golang 中的并发模型。但是,我试图了解服务器中的并发模型,该服务器接受来自同一客户端(客户端上的多个 goroutine)/多个客户端的并行请求。
更具体地说:
- 当一个新的 gRPC 调用到来时,服务器是否会创建一个新的 goroutine?
- 这些 goroutine 共享哪些数据?
grpcServer.Serve是否为跨 goroutine 共享的数据设置了边界,即之前设置的所有内容都是共享的? (我正在考虑 Java 中的线程,其中线程共享全局数据)
【问题讨论】:
标签: go concurrency grpc grpc-go