2012-07-03 42 views
0

假設我正在編寫一個類,它使用遠程調用來控制第三方遠程服務器。每個調用都是異步的,即它的答案返回到單獨的函數中。在java中編寫異步調用序列的更好方法是什麼?

打包遠程調用的最佳模式或算法是什麼?

  1. 爲每個調用使用回調對象作爲最後一個參數寫封裝方法?
  2. 每個包裝方法應該返回「未來」的對象,等待結果
  3. 讓聽者應爲其添加一個實例
  4. 別的結果嗎?
+1

您可能有興趣閱讀[netty ChannelFuture javadoc](http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/ChannelFuture.html)。 – assylias

回答

2

我不確定上面提出的可能解決方案有很多不同之處。我建議儘可能使用現有的類和模式(例如,您提到上面的Future類)。可能會影響您的解決方案(和你不提)

的一件事是你是否需要爲你發出的請求來處理在同一順序的結果,和/或如果你能處理結果並行或者是否需要同步。

+0

OP正在談論「有序列表的異步調用」,這是一個有序列表(至少是我的心理世界^^)。所以我想第一個電話必須完成(返回),以便第二個電話開始。否則,它將是一組「異步調用」(再次,我的術語)。 – brimborium

相關問題