ZMQ inproc误区解读

ZMQ inproc 根据官网文档解释:

zmq_inproc – ØMQ 本地进程内(线程间)传输方式

注意事项:

  1. 进程内传输方式意味着在共享ZMQ context的线程间通过内存方式传输数据。
  2. 通讯地址必须保证已经被相同context上的一个socket创建了。
  3. 文件名必须是在与这个socket关联的ZMQ context上是唯一的,而且长度不能大于256字节。

总结:inproc 是指同一个ZMQ context的进程内通信。

验证一:进程内,同一个inproc地址可以绑定到不同的ZMQ context
在这里插入图片描述

验证二:进程内,inproc只能在相同的ZMQ context内进行通信

在这里插入图片描述

此时我们将线程task_declare_a内部的context重新创建一个,task_declare_a阻塞在recv,无法接受到消息。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CAir2/article/details/88657679
zmq