首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JDK1.6中的线程池的生命周期解决方案

2012-04-22 
JDK1.6中的线程池的生命周期我在程序中使用了JDK1.6提供的线程池ExecutorService,我想问的问题是,如果当所

JDK1.6中的线程池的生命周期
我在程序中使用了JDK1.6提供的线程池ExecutorService,我想问的问题是,如果当所有的任务都执行完毕之后,如果没有新的任务到来的时候,ExecutorService会在多长的时间之后自动关闭?希望熟悉的牛人能帮忙解答一下。
另外,是不是必须手动地调用shutdown()来关闭ExecutorService线程池呢?如果关闭之后又有新的任务到来的话,会不会导致资源的开销变得更多呢?

希望大家能指点一下,谢谢了!

[解决办法]
不需要关闭,线程池本身会维护核心线程的状态
[解决办法]
核心线程又不会关闭的,没有任务的时候线程处于wait状态
为什么你要纠结在线程关闭上...线程是不能关闭再启用的...一个线程如果结束处理了以后,就不能被再次启动
而且,线程池又不是连接池,还需要考虑关闭的问题
[解决办法]
线程池不会自动关闭

Executors类new出来的大部分线程池都是此类的对象:ThreadPoolExecutor,只不过构造函数传的参数不一样


你可以看下ThreadPoolExecutor的javadoc,描述相当详细

热点排行