熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java使用回調和線程處理耗時響應過程[2]

2013-11-23 19:57:12  來源: Java高級技術 

    LongTimeResponse類代碼如下可以看出它之所以能回調調用者是因為其內部有調用者的引用viewer在其構造函數中viewer被賦上了值


package comsitinspring;
public class LongTimeResponse implements Runnable{
  private Viewer viewer;
  private int count;
  
  public LongTimeResponse(Viewer viewer){
    thisviewer=viewer;
    thiscount=viewergetCount();
    
    caculateNewCount();
  }
  
  private void caculateNewCount(){
    Thread thread=new Thread(this);
    threadstart();
  }
  
  public void run(){
    try{
      Threadsleep();  
    }
    catch(Exception ex){
      exprintStackTrace();
    }
    
    viewerprintNewCount(count*count*count);
  }
}

    這說明程序是異步執行的耗時過程沒有影響到主干程序的運行而耗時過程完成後才把返回結果通知了調用者主干程序沒有受到耗時過程的影響因此也就不會導致界面停頓響應停止無謂等待等缺陷

    以上就是使用回調和線程處理一個耗時響應的整個過程

[]  []  


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27716.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.