黑马程序员技术交流社区
标题:
Java线程池的问题
[打印本页]
作者:
丶小天
时间:
2014-2-20 11:57
标题:
Java线程池的问题
一直有一个疑惑请大家帮我解答一下
问题描述:
我们都知道当一个线程使用完之后(线程处于死亡状态时)是不可以再次启动的,那么线程池里面当池中的某一个线程执行完一次任务之后是否会被销毁?若是销毁,是否是jvm在适当的时候(cup空闲)会new一个新的线程补充线程池?
作者:
elq7xy
时间:
2014-2-22 23:27
线程池作用就是限制系统中执行线程的数量。线程池中有规定最大的保存数,而且每个线程都可以被重复利用,被放入线程池中的线程是被保存起来进入等待序列的。是否补充新的线程如果要缓存线程池和无限大线程池就可以了。
作者:
赵永生
时间:
2014-2-23 12:08
本帖最后由 赵永生 于 2014-2-23 12:09 编辑
你的问题加黑处已解答。不会销毁,重复利用。呵呵
线程池的作用:
线程池作用就是限制系统中执行线程的数量。
根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。
为什么要用线程池:
1.
减少了创建和销毁线程的次数,每个工作线程都可以被重复利用
,可执行多个任务。
2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2