摘要: 很多朋友应该关注到了。线程池的执行任务有两种方法,一种是 submit、一种是 execute; 这两个方法是有区别的,那么基于这个区别我们再来看看。 execute 和 submit 区别 1. execute 只可以接收一个 Runnable 的参数 2. execute 如果出现异常会抛出 3 阅读全文
posted @ 2020-06-12 14:15 47号Gamer丶 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 本文主要讲解线程池的完成服务: CompletionService接口定义了一组任务管理接口: 1.submit() - 提交任务; 2.take() - 获取任务结果; 3.poll() - 获取任务结果 ExecutorCompletionService类是CompletionService接口 阅读全文
posted @ 2020-06-12 14:13 47号Gamer丶 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 紧接上篇~ addWorkerFailed addWorker 方法中,如果添加 Worker 并且启动线程失败,则会做失败后的处理。 这个方法主要做三件事: 1. 如果 worker 已经构造好了,则从 workers 集合中移除这个 worker。 2. 原子递减核心线程数(因为在 addWor 阅读全文
posted @ 2020-06-12 14:11 47号Gamer丶 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 线程池原理篇幅太长,所以博主分为上、下两章节讲解,望有兴趣的朋友慢慢阅读~ 什么是线程池 在 Java 中,如果每个请求到达就创建一个新线程,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。如果在一个 Jvm 里创建太多的线程,可能会使系统由于 阅读全文
posted @ 2020-06-12 14:09 47号Gamer丶 阅读(192) 评论(0) 推荐(0) 编辑