ZMQ inproc误区解读

ZMQ inproc 根据官网文档解释:

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

注意事项:

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

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

验证一:进程内,同一个inproc地址可以绑定到不同的ZMQ context
ZMQ inproc误区解读_第1张图片

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

ZMQ inproc误区解读_第2张图片

此时我们将线程task_declare_a内部的context重新创建一个,task_declare_a阻塞在recv,无法接受到消息。
ZMQ inproc误区解读_第3张图片

你可能感兴趣的:(RabbitMQ&ZMQ)