zoukankan      html  css  js  c++  java
  • Future模式

      Future模式有点类似于网上购物,在你购买商品,订单生效之后,你可以去做自己的事情,等待商家通过快递给你送货上门。

      在并发编程中,我们经常用到非阻塞的模型,在多线程的三种实现中,不管是继承thread类还是实现runnable接口,都无法保证获取到执行结果。通过实现Callback接口,并用Future可以来接收多线程的执行结果。

    代码模拟

    public class Test {
        public static class Task implements Callable<String> {
            @Override
            public String call() throws Exception {
                System.out.println("等待送货");
                Thread.sleep(5000);
                System.out.println("快递送到");
                return "订单结束";
            }
        }
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
    
            System.out.println("网购下单成功");
    
            ExecutorService executor = Executors.newCachedThreadPool();
            Task task = new Task();
            Future<String>  result = executor.submit(task);
    
            System.out.println("开始大扫除");
            Thread.sleep(2000);
            System.out.println("大扫除结束");
    
            System.out.println(result.get());
        }
    }

    执行结果

  • 相关阅读:
    开发avr单片机网络资源
    c语言中各种数据类型的长度
    REPEAT_BYTE(x)宏
    如何快速掌握man手册的使用
    如何获取内核代码的变更信息说明
    min宏的学习
    Spring对jdbc支持
    切入点表达式
    XML方式实现AOP编程
    注解方式实现AOP编程
  • 原文地址:https://www.cnblogs.com/JoeyWong/p/9871419.html
Copyright © 2011-2022 走看看