2017-03-27 48 views
0

我的功能是向服務器發送HTTP請求並獲得響應。它看起來像:從功能返回值而不完成功能

public Acknowledgement function() { 
    Acknowledgement ack = new Acknowledgement("received"); 
    //send http request and get response 
    return ack; 
} 

確認消息的目的是通知()函數已成功調用和處理已經開始調用者。

我想在發送HTTP請求之前返回確認。一種方法是使用單獨的線程(實現Runnable)發送請求並獲得響應。但線程已經很老了。什麼是線程的其他最新替代方案來實現這一點。

+1

線程不老......日常生活的很多,現代應用程序使用它們 –

+1

沒有其他選擇。你可能想看看''ExecutorService'',它可以讓你運行''Runnable''s。但是猜猜真正發生了什麼:線程。 – f1sh

回答

0

你可以嘗試使用一個回調監聽器,如:Java中存在了近20年

interface LifecycleListener { 
    void onStarting(); 
} 

public Acknowledgement function(LifecycleListener listener) {   
    listener.onStarting(); 
    ... 
    ... 
} 
0

許多事情。這並不意味着我們應該停止使用字符串,或者我們是整數嗎?

但是,如果在裸金屬線上有(略)較新的抽象,那麼您是正確的。

因此,研究的概念將是ExecutorServices和事情像Future

直接使用線程;特別是與低等級原語(如wait/notify)結合可能不是2017年的首選;你寧願看看前面提到的ExecutorService;甚至更進一步,並瞭解框架如RXJava

-1

線程不老,如果你想要做的更好,你可以使用線程池來管理它們