gpt4 book ai didi

c++ - ZMQ异步,具体是如何工作的?

转载 作者:搜寻专家 更新时间:2023-10-31 00:59:22 24 4
gpt4 key购买 nike

我目前正在从事一个需要快速网络管理的项目。为此,我选择了 0MQ,但在阅读了本文给出的文档和示例之后。关于 0MQ 的异步部分,我很难理解。

是否为 ROUTER 或 DEALER 套接字上的每个请求创建了任何线程?

我经常错误地将异步和多线程结合起来。当我看着 zmqsocket 的男人时我看到对于 DEALER 或 ROUTER 套接字,传入路由设置为“公平排队”。由此我得出结论,异步意味着您可以在套接字上写入或读取,而无需等待发送另一个请求的应答(一切都同步排队和处理)。

问题来了

是否有针对每个请求由0MQ创建的线程? (我不是在谈论后台线程 0MQ 在内部使用来管理消息队列)。

最佳答案

Zeromq 只创建一个线程。没有为请求或套接字创建额外的线程。

后台线程完成所有工作,用户线程使用队列和文件描述符与后台线程通信。

后台线程正在使用 epoll 或 kqueue 来执行异步操作。

您实际上可以控制后台线程的数量,但通常是一个。

关于c++ - ZMQ异步,具体是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33458177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com