【问题标题】:gRPC cpp async server vs sync servergRPC cpp 异步服务器与同步服务器
【发布时间】:2019-01-16 18:48:05
【问题描述】:

当然是一个愚蠢的问题。 我不明白同步服务器和异步服务器之间的区别。

github 上的 gRPC 示例中

异步和同步的区别并不明显。

根据question 和我的测试同步 gRPC 服务器可以处理并行请求。

在异步示例中,server.Run(); 处于阻塞状态。

那么两者有什么区别呢?

【问题讨论】:

    标签: c++ asynchronous grpc


    【解决方案1】:

    看起来你明白了。 This 链接将提供有关 gRPC C++ 的异步基础知识的更多详细信息。您认为异步模型提供了更精细的控制是正确的。

    提供一点实现细节 - gRPC C++ 的异步和同步模型最终都使用完成队列。不同之处在于,对于同步情况,完成队列的处理对应用程序是隐藏的,而在异步情况下,应用程序可以完全控制完成队列的运行方式和时间。

    【讨论】:

      【解决方案2】:

      我找到了问题的答案here

      总之,

      异步模型使应用程序代码可以完全控制线程。 Sync 可以并行处理多个请求,是的,但它们由 gRPC 线程池提供服务。 如果你想更好地控制线程,那么异步是更好的模型

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-03
        • 2018-01-11
        • 1970-01-01
        • 2023-04-10
        • 2023-03-12
        • 2020-11-13
        • 1970-01-01
        • 2016-11-18
        相关资源
        最近更新 更多