线程池的启动策略
2018-01-25 16:49
49 查看
问:线程池的启动策略
线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。
当调用execute()方法添加一个任务时,线程池会做如下判断
1)如果正在运行的线程数量小于corePoolSize,那么马上创建线程运行这个任务
2)当一个线程完成任务时,它会从队列中取下一个任务来执行
3)当一个线程无事可做,超过一定的时间(keepAliveTime)时,线程池会判断,如果当前运行的线程数大于corePoolSize,那么这个线程就被停掉。所以线程池的所有任务完成后,它最终会收缩到corePoolSize的大小
相关知识可以看我的另一篇博客线程池ThreadPoolExecutor
线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。
当调用execute()方法添加一个任务时,线程池会做如下判断
1)如果正在运行的线程数量小于corePoolSize,那么马上创建线程运行这个任务
2)当一个线程完成任务时,它会从队列中取下一个任务来执行
3)当一个线程无事可做,超过一定的时间(keepAliveTime)时,线程池会判断,如果当前运行的线程数大于corePoolSize,那么这个线程就被停掉。所以线程池的所有任务完成后,它最终会收缩到corePoolSize的大小
相关知识可以看我的另一篇博客线程池ThreadPoolExecutor
相关文章推荐
- 自定义线程池有界队列拒绝策略RejectedExecutionHandler
- ThreadPoolExecutor中策略的选择与工作队列的选择(java线程池)
- 微软渠道动力快车再度启动 深耕区域市场 策略落地时机成熟
- Java - "JUC线程池" 线程状态与拒绝策略源码分析
- Windows 无法设置xxx的密码,原因是:工作站服务没有启动 或 密码不满足密码策略的要求
- 线程池四个中断策略
- ThreadPoolExecutor线程池及线程扩展策略
- 利用组策略启动客户端服务
- Android线程池(二)——ThreadPoolExecutor及其拒绝策略RejectedExecutionHandler使用示例
- Win7阻止陌生U盘启动利用组策略实现图解
- Android线程池(二)——ThreadPoolExecutor及其拒绝策略RejectedExecutionHandler使用演示样例
- Windows 无法设置xxx的密码,原因是:工作站服务没有启动 或 密码不满足密码策略的要求
- Windows 无法设置xxx的密码,原因是:工作站服务没有启动 或 密码不满足密码策略的要求
- 深入浅出 Java Concurrency (31): 线程池 part 4 线程池任务拒绝策略
- ThreadPoolExecutor中策略的选择与工作队列的选择(java线程池)
- 线程池技术启动多线程
- 线程池拒绝策略
- Android线程池(二)——ThreadPoolExecutor及其拒绝策略RejectedExecutionHandler使用示例
- 解决Windows2000启动时出现的“正在应用安全策略”
- 线程池的饱和策略-Semaphore实现任务提交限制