幸福一箩筐|Java并发编程 | Executor线程池框架( 二 )
public class Executor02 {public static void main(String[] args) {// 初始化校验任务List checkTaskList = new ArrayList<>() ;initList(checkTaskList);// 定义线程池ExecutorService executorService ;if (checkTaskList.size() < 10){executorService = Executors.newFixedThreadPool(checkTaskList.size());}else{executorService = Executors.newFixedThreadPool(10);}// 批量处理List results = new ArrayList<>() ;try {results = executorService.invokeAll(checkTaskList);} catch (InterruptedException e) {Thread.currentThread().interrupt();}// 查看结果for (Future result : results){try {System.out.println(result.get());// System.out.println(result.get(10000,TimeUnit.SECONDS));} catch (Exception e) {e.printStackTrace() ;}}// 关闭线程池executorService.shutdownNow();}private static void initList (List checkTaskList){checkTaskList.add(new CheckTask("root","123")) ;checkTaskList.add(new CheckTask("root1","1234")) ;checkTaskList.add(new CheckTask("root2","1235")) ;}}// 校验任务class CheckTask implements Callable {private String userName ;private String passWord ;public CheckTask(String userName, String passWord) {this.userName = userName;this.passWord = passWord;}@Overridepublic Boolean call() throws Exception {// 校验账户+密码if (userName.equals("root")}return Boolean.FALSE ;}}
线程池主要用来解决线程生命周期开销问题和资源不足问题 , 通过线程池对多个任务线程重复使用 , 线程创建也被分摊到多个任务上 , 多数任务提交就有空闲的线程可以使用 , 所以消除线程频繁创建带来的开销 。推荐阅读:GitHub源码和分类管理 , 持续更新
Java并发编程 | 线程间通信 , 等待/通知机制
Java并发编程 | 悲观锁和乐观锁机制
【幸福一箩筐|Java并发编程 | Executor线程池框架】 Java并发编程 | 多线程并发访问 , 同步控制
Java并发编程 | Fork/Join框架机制详解
Java并发编程 | 线程核心机制 , 基础概念扩展
Java并发编程 | Lock机制下API用法详解
- 笙笙千离|惠若琪李宇春同框颁奖,春春身高176还自卑,巨人身高收获幸福
- 资讯早知道|9年后再看《步步惊心》,发现若曦无论跟谁都不会幸福
- 弹钢琴|原创吉娜为1岁宠物兔庆生,郎朗弹钢琴助兴,幸福温馨像一家三口
- 人民日报|岳阳君山区:消费扶贫托起贫困户稳稳的幸福
- “全国人大 ”微信公众号|何健忠:以实施民法典提升人民美好生活的“幸福指数”
- 经济日报-中国经济网|【幸福花开新边疆】219国道旁的“脱贫事”
- 新华网|【幸福花开新边疆】奋发学技能 靠己奔小康
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 【幸福花开新边疆】奋发学技能 靠己奔小康
- 【幸福花开新边疆】219国道旁的“脱贫事”