现在程序中有许多涉及长耗时响应过程的处理比如访问WebService远程调用复杂处理等如果我们使用直接顺序执行的方式进行处理有可能导致界面停顿响应停止无谓等待等缺陷这是不应该的
一个耗时响应过程应该采用回调和线程来处理具体就是把原来的顺序执行修改为异步方式并让被调用者调用调用者以获得执行结果在附件的例子中Viewer就是调用者它代表界面而LongTimeResponse是被调用者它内部用线程启动一个耗时过程执行完毕再通知调用者
Viewer类代码如下
public class Viewer{
private int count;
public Viewer(int count){
thiscount=count;
}
public void printNewCount(int newCount){
Systemoutprintln(New Count=+newCount);
}
public int getCount() {
return count;
}
public void setCount(int count) {
thiscount = count;
}
}
[] []