如何在gRPC异步服务中使用共享完成队列

时间:2020-08-23 21:43:53

标签: grpc

您好,我正在尝试实现DBMS多线程gRPC异步服务。现在,我被困在使用共享完成队列中。我最初保存每个启动线程的RPC调用的标签,并希望对照cq.Next()的rpc调用检查这些标签,以确保我拥有正确的线程来检查回复。但是,我从Confusion around CompletionQueue in an async C++ client中发现,每个标签只会从cq中出来一次。我想知道让多个线程共享同一CQ的最佳方法是什么?我希望每个线程只能处理它发起的RPC调用,并且我不希望一个线程等待另一个线程创建的RPC。这可能吗,该怎么做?有没有办法遍历队列并仅删除带有匹配标记的RPC?在以前的stackoverflow帖子中我没有看到明确的解决方案。

0 个答案:

没有答案