我从JeroMQ检查了 ZMQueue
类的源代码,它实现了Runnable接口,如下所示:
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()
中看到的那样,只有一个语句,即调用
ZMQ.proxy()
- 这里会发生什么?
在构造函数中,它将Context
实例作为参数并且不执行任何操作。
任何人都可以解释这个课程的目的是什么?
答案 0 :(得分:1)
这是在单独的线程中工作的简单代理,它从一个套接字获取一个msg并将其放到另一个套接字,ZMQueue类只是jeromq / jzmq库中的某种高级api。
您也可以在没有ZMQueue类(doc)的情况下使用代理。 或者您可以通过自己需要的任何处理来实现更复杂的事情。