阻止操作和ZeroMQ

时间:2010-09-12 19:20:06

标签: networking io system distributed zeromq

我正在设计一个分布式系统,其中单线程服务器进程执行CPU密集型操作。这些操作由ZeroMQ网络消息触发。

如果单线程进程正在执行CPU密集型工作,那么I / O(ZeroMQ套接字)会阻塞吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

如果没有要阅读的消息,您将阻止阅读消息。

如果未完成的消息数量超过ZMQ_HWM,您将阻止发送(默认情况下它没有限制,但是对于您有多少内存存在实际限制),如果消息简单,它似乎取决于套接字类型当达到该限制时,丢弃(在这种情况下你不会阻止)。

如果您不希望在任何情况下阻止,您可以指定标志ZMQ_NOBLOCK - 在这些情况下,zmq_send / zmq_recv将失败而不是阻止。

相关问题