2016-12-08 128 views
0

使用ZMQueue類的我檢查ZMQueue類的源代碼JeroMQ它實現Runnable接口的樣子:什麼是JeroMQ

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實例作爲參數,並且無所作爲。

任何人都可以解釋,爲什麼這個類已經實現了?

回答

1

它是一個簡單的代理,在單獨的線程中工作,它從一個套接字接收一個msg並將它放到另一個套接字中,ZMQueue類只是jeromq/jzmq庫中的某種高級api。

你也可以使用沒有ZMQueue類的代理(doc)。 或者你可以用你需要的任何處理來實現更復雜的事情。