Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / 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);  }
}本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129288.htm