我检查了 JeroMQ 中实现 Runnable 接口(interface)的 ZMQueue
类的源代码,如下所示:
private final Socket inSocket;
private final Socket outSocket;
public ZMQQueue( Context context, Socket inSocket, Socket outSocket ){
this.inSocket = inSocket;
this.outSocket = outSocket;
}
@Override
public void run(){
zmq.ZMQ.proxy( inSocket.base(), outSocket.base(), null );
}
正如您所见,run()
内部只有一条语句,即调用 a
ZMQ.proxy()
- 这里会发生什么?
在构造函数中,
它采用 Context
实例作为参数,但不对其执行任何操作。
谁能解释一下,这个类实现的目的是什么?
最佳答案
它是在单独线程中工作的简单代理,它从一个套接字获取消息并将其放入另一个套接字,ZMQueue 类只是 jeromq/jzmq 库中的某种高级 API。
您也可以使用没有 ZMQueue 类的代理 ( doc )。 或者您可以通过您需要的任何处理自行实现更复杂的东西。
关于java - JeroMQ中ZMQueue类有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41032230/