程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java多線程Callable,Future,FutureTask,callablefuturetask

java多線程Callable,Future,FutureTask,callablefuturetask

編輯:JAVA綜合教程

java多線程Callable,Future,FutureTask,callablefuturetask


我們平時接觸到的多線程Thread,Runnable,這兩種方式不能返回線程執行後的結果。

假如有Thread1、Thread2、Thread3三個線程分別統計信息,所有線程統計完畢交給Thread4匯總,應當如何實現?

Callable和Future,前者產生結果,後者拿到結果。

Callable和Future 推薦一篇不錯的博客:http://blog.csdn.net/ghsau/article/details/7451464

public class GreyStartServlet extends HttpServlet {
  @Override
  public void init() throws ServletException {
     FutureTask<String> task = new FutureTask<String>(new Callable<String>() {
     @Override
     public String call() throws Exception {
     start(); // 使用另一個線程來執行該方法,會避免占用Tomcat的啟動時間
     return "Collection Completed";
     }
     });
     new Thread(task).start();
  }
  // 希望Tomcat啟動結束後執行的方法
  private static void start() throws Exception {
    Thread.sleep(1000);
} }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved