Java 实现异步调用
Request: 请求载体
public class Request {
private RequestContent rc; //请求主体
public Request(RequestContent rc) {
this.rc = rc;
}
protected void start() { //开始请求
final Thread t = new Thread(new Runnable() {
public void run() {
try {
rc.doSomeThing(); //响应请求
} catch(Exception e) {
e.printStackTrace();
rc.onFailure(); //如果执行失败
}
rc.onSuccess(); //如果执行成功
}
});
t.start();
}
}
RequestContent: 请求主体
abstract class RequestContent {
void onSuccess() { //执行成功的动作。用户可以覆盖此方法
System.out.println("onSuccess");
}
void onFailure() { //执行失败的动作。用户可以覆盖此方法
System.out.println("onFailure");
}
abstract void doSomeThing(); //用户必须实现这个抽象方法,告诉子线程要做什么
}
Test: 测试
new Request(new RequestContent() {
void doSomeThing() {
System.out.println("doSomething");
}
void onSuccess() {
System.out.println("override onSuccess");
}
}).start();
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。