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
  • 相关阅读:
    RecyclerView的坑
    Edittext默认无焦点
    EditText光标位置
    录音功能暂停的实现思路
    Java clone()方法使用说明
    Android systemserver分析ThrottleService 介绍
    php 输出函数常用类型转换符
    Android BitmapDrawable()的使用
    java equal和==的比较,尤其注意基本类型和基本类型的包装类型的比较
    android HeaderViewListAdapter的介绍
  • 原文地址:https://www.cnblogs.com/xiaohouye/p/14647860.html
Copyright © 2011-2022 走看看