【多线程】 Future Callable 使用(线程池线程执行完,执行主线程)
2019独角兽企业重金招聘Python工程师标准>>>
public class FutureCallable {/*** @param args*/public static void main(String[] args) {List<Future<String>> futures = new ArrayList<Future<String>>();ExecutorService executorService = Executors.newCachedThreadPool();System.out.println("开始添加缓存。。。");for (int i = 0; i < 10; i++) {futures.add(executorService.submit(new Callable<String>() {@Overridepublic String call() throws Exception {// 模拟真实事务的处理过程,这个过程是非常耗时的。Thread.sleep(5000);return "缓存添加成功... ";}}));}for (Future<String> future : futures) {// 判断资源是不是已经准备完毕,准备完毕直接获取。if (!future.isDone()) {System.out.println("等待结果。。。。");}try {System.out.println(future.get());} catch (InterruptedException | ExecutionException e) {e.printStackTrace();}}executorService.shutdown();}}
转载于:https://my.oschina.net/v512345/blog/918601
【多线程】 Future Callable 使用(线程池线程执行完,执行主线程)相关推荐
- Java 监控线程池所有任务是否执行完毕
Java 监控线程池所有任务是否执行完毕 场景引入 在最近的工作中遇到一个需要批量生产百万数据并写入数据库的需求,先通过单线程的方式去实现,但是感觉效率一般,然后通过多线程的方式去改进,但是遇到下面的 ...
- JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理...
本文记录: 1,使用ScheduledExecutorService的 scheduleAtFixedRate 方法执行周期性任务的过程,讨论了在任务周期执行过程中出现了异常,会导致周期任务失败. 2 ...
- JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理
JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理 参考文章: (1)JAVA线程池ScheduledExecutorServi ...
- 线程池的参数及执行顺序
线程池的优点 降低系统资源消耗,通过复用已存在的线程,降低线程创建和销毁造成的开销: 提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程创建便立即能够执行. 方便线程并发数的管控, ...
- 并发编程之进程池,线程池 和 异步回调,协程
1.进程池和线程池 2.异步回调 3.协程 4.基于TCP使用多线程实现高并发 一.进程池和线程池 什么是进程池和线程池: ''' 池 Pool 指的是一个容器 线程池就是用来存储线程对象的 容器创建 ...
- day10-Python学习笔记(二十三)线程池,unittest参数化,协程
线程池,unittest参数化,协程 python的多线程只能利用cpu的一个核心,一个核心同时只能运行一个任务那么为什么你使用多线程的时候,它的确是比单线程快答:如果是一个计算为主的程序(专业一点称 ...
- 【Android 异步操作】线程池 ( 线程池使用示例 | 自定义线程池使用流程 | 自定义任务拒绝处理策略 | 完整代码示例 )
文章目录 一.自定义线程池使用流程 二.自定义任务拒绝处理策略 三.完整代码示例 在博客 [Android 异步操作]线程池 ( 线程池简介 | 线程池初始化方法 | 线程池种类 | AsyncTas ...
- 【Android 异步操作】线程池 ( 线程池 reject 拒绝任务 | 线程池 addWorker 添加任务 )
文章目录 一.线程池 reject 拒绝任务 二.线程池 addWorker 添加任务 在上一篇博客 [Android 异步操作]线程池 ( 线程池 execute 方法源码解析 ) 中 , 讲解 线 ...
- 【Android 异步操作】线程池 ( 线程池简介 | 线程池初始化方法 | 线程池种类 | AsyncTask 使用线程池示例 )
文章目录 一.线程池简介 二.线程池初始化方法简介 三.线程池使用示例 一.线程池简介 线程池一般是实现了 ExecutorService 接口的类 , 一般使用 ThreadPoolExecutor ...
- 【Android 异步操作】线程池 ( 线程池作用 | 线程池种类 | 线程池工作机制 | 线程池任务调度源码解析 )
文章目录 一.线程池作用 二.线程池种类 三.线程池工作机制 四.线程池任务调度源码解析 一.线程池作用 线程池作用 : ① 避免创建线程 : 避免每次使用线程时 , 都需要 创建线程对象 ; ② 统 ...
最新文章
- balanced binary search tree
- njust 1927 谁才是最强战舰!(anti-nim博弈论)
- pytorch教程龙曲良01-05
- Android 根证书管理与证书验证
- Spring源码学习的初步体会
- linux之mutex(互斥锁)
- linux 6.5端口开启关闭,linux CentOS6.5 防火墙(关闭除提供系统服务以外的端口)...
- ai怎么调界面大小_Illustrator怎么设置调整界面网格呢?
- 小型工厂企业网站究竟该怎么做好SEO优化,从而带来更多订单?
- SDP在SIP协议中的应用
- Layer 提示框tips使用
- 火山PC_POST教程
- php 485通讯协议 编程,485通讯协议程序怎么写(51单片机的485通信程序案例)
- MTK 6589充电模块分析
- 数学的意义与数学教育的价值
- 某小说App返回数据 解密分析
- Python,关于字符串间隔分割的while、for代码测试,近乎完美
- 网络上博弈——博弈匠心——真正的匠人精神
- [.NET]CheckBoxList 用法
- pear php linux,linux下安装PEAR、Zend Debugger和Smarty