[英]Returning value from function without completing function
我的功能是將HTTP請求發送到服務器並獲得響應。 看起來像 :
public Acknowledgement function() {
Acknowledgement ack = new Acknowledgement("received");
//send http request and get response
return ack;
}
確認的目的是告知調用方function()已成功調用並且處理已開始。
我想在發送HTTP請求之前返回確認。 一種方法是使用單獨的線程(實現Runnable)來發送請求和獲取響應。 但是線程已經很老了。 什么是線程的其他最新替代品以實現此目的。
您可以嘗試使用回調偵聽器,例如:
interface LifecycleListener {
void onStarting();
}
public Acknowledgement function(LifecycleListener listener) {
listener.onStarting();
...
...
}
Java中存在許多東西將近20年。 並不是說我們應該停止使用String還是Integer?
但是您是正確的,在裸機線程之上(略)有較新的抽象 。
因此,要研究的概念將是ExecutorServices以及諸如Future之類的東西。
直接使用線程; 特別是結合使用低級原語(例如,wait / notify)可能不是2017年的首選; 您寧願查看前面提到的ExecutorService; 甚至更進一步,了解諸如RXJava之類的框架。
線程不老,如果想做得更好,可以使用線程池進行管理
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.