资讯详情

thread47 - Future和FutureTask

package com.neutron.t23;  import java.util.concurrent.*;  /**  * 线程池接口  * 了解线程池Future,FutureTask  */ public class T236Future {      /**      * Future包含两部分      *      FutureTask:要执行的任务,实现了Runnable接口      *      Future返回值      */     public static void main(String[] args) throws InterruptedException, ExecutionException {         // FutureTask<Integer>代表未来执行的结果是Integer类型         FutureTask<Integer> task = new FutureTask<>(() -> {             TimeUnit.MILLISECONDS.sleep(500);             return 1000;         });         // 运行任务         new Thread(task).start();         System.out.println(task.get());   // 阻塞,任务什么时候完成,什么时候结束,task返回值就是FutureTask<Integer>           // 创建固定尺寸为5的线程池,实现所有线程池ExecutorService接口         ExecutorService service = Executors.newFixedThreadPool(5);         Future<Integer> task1 = service.submit(() -> {             TimeUnit.MILLISECONDS.sleep(500);             return 1;         });          System.out.println(task1.get());         // Future.get结果,任务将结束         System.out.println(task1.isDone());      // 任务是否完成         service.shutdownNow();     }  } 

标签: t236集成电路

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台