首页 > 编程语言 > 详细

6种线程池

时间:2019-10-04 12:01:15      阅读:75      评论:0      收藏:0      [点我收藏+]

1FixedThreadPool

最普通的线程池,可以指定线程数大小。创建是线程是普通线程

2SingleThreadPool

线程数为1的线程池,这样可以保证有序

3CacheThreadPool

没有大小限制的线程池(可以手动现在一个最大值),有新的运行任务时会创建一个临时线程,任务结束会保留一段时间(默认60s,可以自己设置)。如果不停的有任务,会把系统内存耗尽为主。

4ScheduledThreadPool

类似FixedThreadPool,区别在于 可以执行定时任务

5WorkStealingThreadPool

ForkJoinThreadPool的封装,更加方便。创建的线程是守护线程。每个线程都有自己的任务队里,某个线程任务队列全部完成,就会去其它线程任务队列偷任务。

守护线程:jvm不退出,线程就不退出,即使主线程已经退出。

6ForkJoinThreadPool

类似于多线程递归,将大的计算分为多个小计算并分配给多个线程。
分配的规则要自己编写,继承ForkJoinTask类,重新compute方法。
一般的会继承RecursiveAction类,RecursiveTask类 这两个是继承于ForkJoinTask

6种线程池

原文:https://www.cnblogs.com/duangL/p/11621729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!