我的功能是向服务器发送HTTP请求并获得响应。它看起来像:
public Acknowledgement function() {
Acknowledgement ack = new Acknowledgement("received");
//send http request and get response
return ack;
}
确认的目的是通知调用者已成功调用function()并已开始处理。
我想在发送HTTP请求之前返回确认。一种方法是使用单独的线程(实现Runnable)来发送请求和获取响应。但线程已经很老了。什么是线程的其他最新替代方案来实现这一目标。
答案 0 :(得分:0)
您可以尝试使用回调侦听器,例如:
interface LifecycleListener {
void onStarting();
}
public Acknowledgement function(LifecycleListener listener) {
listener.onStarting();
...
...
}
答案 1 :(得分:0)
近20年来,Java中存在很多东西。并不意味着我们应该停止使用String,或者我们应该使用Integer吗?
但是,如果在裸机线程之上有(稍微)较新的抽象,那么你是正确的。
因此,要研究的概念是ExecutorServices和类似Future的内容。
直接使用线程;特别是与低级原语相结合,如wait / notify可能不是2017年的首选;你宁愿调查前面提到的ExecutorService;甚至更进一步,了解RXJava等框架。
答案 2 :(得分:-1)
线程不老,如果你想做得更好,你可以使用线程池来管理它们