zoukankan      html  css  js  c++  java
  • 线程池submit()使用案例

    submit()使用案例
    public class Test {
    private static final String SUCCESS = "success";

    public static void main(String[] args) {

    ExecutorService executorService = Executors.newFixedThreadPool(3);

    System.out.println("------------------任务开始执行---------------------");

    Future<String> future = executorService.submit(new Callable<String>() {
    @Override
    public String call() throws Exception {
    Thread.sleep(5000);
    System.out.println("submit方法执行任务完成" + " thread name: " + Thread.currentThread().getName());
    return SUCCESS;
    }
    });

    try {
    String s = future.get();
    if (SUCCESS.equals(s)) {
    String name = Thread.currentThread().getName();
    System.out.println("经过返回值比较,submit方法执行任务成功 thread name: " + name);
    }
    } catch (InterruptedException e) {
    e.printStackTrace();
    } catch (ExecutionException e) {
    e.printStackTrace();
    }

    System.out.println("-------------------main thread end---------------------");
    }
    }

    打印结果:

    ------------------任务开始执行---------------------
    call()调用开始: 1496899867882
    submit方法执行任务完成: 1496899872897 thread name: pool-1-thread-1
    经过返回值比较,submit方法执行任务成功 thread name: main
    -------------------main thread end---------------------
    1
    2
    3
    4
    5
    6
    主线程会一直阻塞,等待线程池中的任务执行完后,在执行后面的语句。
     

    团队五人,专业从事软件开发,接单工作,专注于Java,.Net,PHP
  • 相关阅读:
    kafka的一些坑
    文件上传到七牛云oss并刷新cdn
    docker swarm集群常用操作
    kubernets中jenkins使用清华源加速插件安装
    获取jenkins插件最新版本
    kubeadm安装集群系列-7.部署jenkins
    kubeadm安装集群系列-6.ingress-nginx安装
    docker清理
    kubeadm安装集群系列-5.其他操作
    kubeadm安装集群系列-4.证书更新
  • 原文地址:https://www.cnblogs.com/xiaohouye/p/14647860.html
Copyright © 2011-2022 走看看