Go grpc生成的存根是线程安全的吗?
我正在看grpc的教程 grpc一元呼叫看起来像这样Go grpc生成的存根是线程安全的吗?,go,grpc,Go,Grpc,我正在看grpc的教程 grpc一元呼叫看起来像这样 conn, err := grpc.Dial(*serverAddr) if err != nil { ... } defer conn.Close() client := pb.NewRouteGuideClient(conn) feature, err := client.GetFeature(context.Background(), &pb.Point{409146138, -746188906}) if err !
conn, err := grpc.Dial(*serverAddr)
if err != nil {
...
}
defer conn.Close()
client := pb.NewRouteGuideClient(conn)
feature, err := client.GetFeature(context.Background(), &pb.Point{409146138, -746188906})
if err != nil {
...
}
我想知道我是否打过电话
client.GetFeature
从多个线程来看,它是线程安全的吗?仔细研究,您可以了解到:
询问:
我可以并行使用来自不同线程的客户端吗
答复:
在客户端上,若要并行执行多个rpc,则应
生成多个goroutine来执行此操作,因为rpc是
同步/阻塞
答案是肯定的,但是,流不能被共享()
@trevorgray,这类并发主题显然仍然存在
未记录,根据
这取决于您如何实现您的服务器接口,您必须自己完成,grpc不会为您的服务器接口生成实现you@Vardius我是说在客户端