2017-03-27 84 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

线程不老,如果你想要做的更好,你可以使用线程池来管理它们