- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java concurrency 线程池之线程池原理(二)
线 程 池 示 例
在分析线程池之前,先看一个简单的线程池示例。
1 import java.util.concurrent.Executors;
2 import java.util.co ncurrent.ExecutorService;
3
4 public class ThreadPoolDemo1 {
5
6 public static void main(String[] args) {
7 // 创建一个可重用固定线程数的线程池
8 ExecutorService pool = Executors.newFixedThreadPool(2);
9 // 创建实现了 Runnable 接口对象,Thread 对象当然也实现了 Runnable 接口
10 Thread ta = new MyThread();
11 Thread tb = new MyThread();
12 Thread tc = new MyThread();
13 Thread td = new MyThread();
14 Thread te = new MyThread();
15 // 将线程放入池中进行执行
16 pool.execute(ta);
17 pool.execute(tb);
18 pool.execute(tc);
19 pool.execute(td);
20 pool.execute(te);
21 // 关闭线程池
22 pool.shutdown();
23 }
24 }
25
26 class MyThread extends Thread {
27
28 @Override
29 public void run() {
30 System.out.println(Thread.currentThread().getName()+ is running.);
31 }
32 }
运行结果 :
1 / 10
pool-1-thread-1 is running.
pool-1-thread-2 is running.
pool-1-thread-1 is running.
pool-1-thread-2 is running.
pool-1-thread-1 is running.
示例中,包括了线程池的创建,将任务添加到线程池中,关闭线程池这 3 个主要的步骤。稍后,我们会从这 3 个方面来分析
ThreadPoolExecutor。
线 程 池 源 码 分 析
(一) 创建 “线程池”
下面以 newFixedThreadPool()介绍线程池的创建过程。
1. newFixedThreadPool()
newFixedThreadPool()在 Executors.java 中定义,源码如下:
public static ExecutorService newFixedThreadPool(int nThreads) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueueRunnable());
}
说明 :newFixedThreadPool(int nThreads)的作用是创建一个线程池,线程池的容量是 nThreads。
newFixedThreadPool()在调用 ThreadPoolExecutor()时,会传递一个 LinkedBlockingQueue()对象,而
LinkedBlockingQueue 是单向链表实现的阻塞队列。在线程池中,就是通过该阻塞队列来实现当线程池中任务数量超过允
许的任
您可能关注的文档
- 药品包装材料检测仪器简介与报价.pdf
- hydrocms规范查阅系统开发指导书.pdf
- 人模式识别与设计认知效率.pdf
- 国际钢材期货简介及其对我国借鉴意义.pdf
- 人人车二手车车友分享北京小伙购入天津蒙迪欧.docx
- 人人车分享解读车险新政策.docx
- 阅读你好,春天.pdf
- 妈妈虽然失去了自己丈夫,但是有两个儿子可以陪着自己安享晚年度.pdf
- 国际化程度不高周大福,为何能在全球奢侈品公司中挤进前四?.pdf
- 人生顺口溜,谁总结,真是太牛了!.pdf
- 高速公路公司财务管理办法 .pdf
- 中国消费品行业国际化:地缘政治风险及应对策略-安永-2025.pdf
- 医药生物行业生命科学上游专题报告春江水暖供需改善企业盈利有望边际修复-25.pdf
- 医药生物行业医疗AI专题报告二多组学篇AI技术驱动精准诊断实现重要突破-25.pdf
- 金融科技动向2024年下半年_可搜索.pdf
- CXO行业系列报告三寒冬已过行业需求逐步回暖-25.pdf
- 2024-2025年中国并购交易分析报告.pdf
- 医药生物行业生命科学上游专题报告春江水暖供需改善企业盈利有望边际修复-25032136页.docx
- 2025年中国AI Agent行业研究报告_可搜索.pdf
- 2024年第三季度中国高端磁共振设备3.0T市场洞察报告.pdf
文档评论(0)