歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java多線程Callable,Future,FutureTask

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

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

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);

  }
}

Copyright © Linux教程網 All Rights Reserved