脚本宝典收集整理的这篇文章主要介绍了(二十一)java多线程之Executors,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本人邮箱: <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
源码,就感觉比较清晰
打赏
以上是脚本宝典为你收集整理的(二十一)java多线程之Executors全部内容,希望文章能够帮你解决(二十一)java多线程之Executors所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。