(二十一)java多线程之Executors
来源:互联网 发布:怎么联系网络推手 编辑:程序博客网 时间:2024/05/17 01:47
本人邮箱: kco1989@qq.com
欢迎转载,转载请注明网址 http://blog.csdn.net/tianshi_kco
github: https://github.com/kco1989/kco
代码已经全部托管github有需要的同学自行下载
引言
java 自动的两个线程池讲完,今天就讲跟他们有关的一个工具类吧–Executors
理论
Executors
仅仅是一个线程池的工具类,它无法实例话,包含都是静态方法或静态类.
newFixedThreadPool(int nThreads)
创建一个指定线程数量的线程池t nThreads, ThreadFactory threadFactory)` 创建一个可以自定义的线程工厂的指定线程数量的线程池newSingleThreadExecutor()
创建一个只有一个线程的线程池newSingleThreadExecutor(ThreadFactory threadFactory)
创建一个可以自定义线程工程的且只有一个线程的线程池newCachedThreadPool
创建一个可以缓存的线程池,它的源码其实是return new ThreadPoolExecutor(0, Integer.MAX_VALUE,60L, TimeUnit.SECONDS,new SynchronousQueue<Runnable>());
通过这里我们可以看出,他的核心线程数0,最大线程数为Integer.MAX_VALUE,但线程空闲时,线程可以缓存1分钟,之后如果还没有任务则被回收.工作队列是一个容量0大小的SynchronousQueue
队列newCachedThreadPool(ThreadFactory threadFactory)
跟上面一样,只是多了可以自定义线程工厂newSingleThreadScheduledExecutor()
创建一个只有一个线程的任务调度线程池.newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
创建一个只有一个线程且能自定义线程工程的任务调度线程池newScheduledThreadPool(int corePoolSize)
创建指定线程数量的任务调度线程池newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
创建一个可以指定数量写自定义线程工程的任务调度线程池
除此之外,Executors
还提供了让Runnable
转化为Callable
的适配器
例子
这个章节就不写例子,前面学了线程池的知识之后,直接看Executors
源码,就感觉比较清晰
打赏
如果觉得我的文章写的好的话,有钱就捧个钱场,没钱就给我点个赞
0 0
- (二十一)java多线程之Executors
- java 多线程之Executors.newFixedThreadPool
- java多线程之 Executors线程池管理
- Java并发之线程池Executors(二)
- Java多线程-Executors
- Java多线程:Executors
- Java多线程系列-Executors
- java多线程并发(二)——线程池Executors
- Java多线程之使用执行器(Executors)(Thinking in Java)
- Java基础之十一:多线程
- (十一)java多线程之Phaser
- java.util.concurrent.Executors 多线程
- Java - 多线程Callable、Executors、Future
- Java多线程-线程池Executors
- Java多线程 之 终结任务(十一)
- 赢在面试之Java多线程(十一)
- Java源码阅读之Executors
- Java并发之Executors简介
- 1217 借教室 2012年NOIP全国联赛提高组[迷之不能自拔]
- 归并排序 迭代版
- Android 自定义View(二)
- 图片的像素操作、添加文本
- 【面试题】实现单链表的逆序
- (二十一)java多线程之Executors
- spring拦截器&过滤器&springjdbc&mybatis
- 【PAT甲级】1061. Dating (20)
- GDOI2017模拟11.3 总结
- Android产品研发(十二)-->App长连接实现
- LinearLayout和RelativeLayout绘制过程的对比
- 二级缓存和QBC查询
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
- Mini-Notes: LaTex的相关工具和文档