zoukankan      html  css  js  c++  java
  • Future

    /**
     * Future 未来的执行结果 
     */
    public class T06_Future {
    
        public static void main(String[] args) throws ExecutionException, InterruptedException {
    
            // 未来任务, 既是Runnable 也是 Future
            FutureTask<Integer> task = new FutureTask<>(() -> {
                TimeUnit.MILLISECONDS.sleep(500);
                return 100;
            });
            new Thread(task).start();
    
            System.out.println(task.get()); // 阻塞等待任务执行完成, 获取到返回值
    
            System.out.println("-------------------------------");
            
            //********************************
            // 使用ExecutorService的submit替代FutureTask
            ExecutorService service = Executors.newFixedThreadPool(5);
            Future<Integer> result = service.submit(() -> {
                TimeUnit.MILLISECONDS.sleep(500);
                return 1;
            });
            System.out.println(result.isDone()); // false 执行未完毕
            System.out.println(result.get()); // 1 
            System.out.println(result.isDone()); // true  执行已完毕
            System.out.println(result.get()); // 一直等待
            System.out.println(service.shutdownNow()); // 立即等待
            
        }
    }
  • 相关阅读:
    阿里云的使用运维安装
    阿里云的使用运维安装
    promis:异步编程
    promis:异步编程
    微信开发笔记
    细数那些带打赏功能的平台
    细数那些带打赏功能的平台
    Java Web Services (0)
    4、查询(2)
    COGS——C610. 数对的个数
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11720191.html
Copyright © 2011-2022 走看看