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
  • 相关阅读:
    MFC中实现LISTCRTL控件选中多行进行删除操作
    如何使属性值为“只读”(readonly)的EDIT控件在获取焦点后不显示光标?
    crm 使用stark组件
    ModelForm组件
    自定义admin管理工具(stark组件)
    Django-admin管理工具
    Django-session中间件源码简单分析
    基于角色的权限管理
    ajax参数补充
    datetime模块
  • 原文地址:https://www.cnblogs.com/xiaohouye/p/14647860.html
Copyright © 2011-2022 走看看