zoukankan      html  css  js  c++  java
  • Future与FutureTask简单使用

      概念不多说,网上随便百度下就可以找到一堆。直接看代码,注意关注下运行结果中日志记录的时间。

    一,Future:

    @Slf4j
    public class MyFutureDemo {
        @SuppressWarnings("all")
        public static void main(String[] args) throws Exception {
            ExecutorService pool = Executors.newCachedThreadPool();
            Future<String> future = pool.submit(new Callable<String>() {
                @Override
                public String call() throws Exception {
                    log.info("callable execute ...");
                    Thread.sleep(5000);
                    return "done";
                }
            });
            log.info("execute something in main ...");
            Thread.sleep(1000);
            log.info("future is done ? {}", future.isDone());
            log.info("result: {}", future.get());
            log.info("future is done ? {}", future.isDone());
        }
    }

    运行结果:

    二,FutureTask

    @Slf4j
    public class MyFutureTaskDemo {
        @SuppressWarnings("all")
        public static void main(String[] args) throws Exception {
            ExecutorService threadPool = Executors.newCachedThreadPool();
            FutureTask<String> futureTask = new FutureTask<String>(new Callable() {
                @Override
                public Object call() throws Exception {
                    log.info("callable execute ...");
                    Thread.sleep(5000);
                    return "done";
                }
            });
            threadPool.submit(futureTask);
            log.info("execute something in main ...");
            Thread.sleep(1000);
            log.info("future is done ? {}", futureTask.isDone());
            log.info("result: {}", futureTask.get());
            log.info("future is done ? {}", futureTask.isDone());
        }
    }

    运行结果:

  • 相关阅读:
    java spring-mvc + maven + hibernate + mysql 注释
    c# log4net
    c# winform richtextbox 锁屏和滚屏
    socket 客户端
    c# winform插件
    c# 注册全局热键
    c# 请求api获得json数据
    java 把一个文件夹里图片复制到另一个文件夹里
    c# UpdateLayeredWindow异形窗口
    【哈希】身份证问题
  • 原文地址:https://www.cnblogs.com/enchaolee/p/11447136.html
Copyright © 2011-2022 走看看