我们为什么使用线程池
2015-11-03 14:40
183 查看
java程序当中,如果每来一个任务时都要创建线程,那么对于线程的创建和销毁是需要消耗大量资源的,有的甚至大于了活动所需的系统资源,这样反而得不偿失。在JVM中创建太多的线程,或导致资源消耗或者频繁的切换而导致资源不足。
当一个Web服务器接受到大量短小线程的请求时,使用线程池技术是非常合适的,它可以大大减少线程的创建和销毁次数,提高服务器的工作效率。但如果线程要求的运行时间比较长,此时线程的运行时间比创建时间要长得多,单靠减少创建时间对系统效率的提高不明显,此时就不适合应用线程池技术,需要借助其它的技术来提高服务器的服务效率。
其实质就是解决线程生命周期开销问题和资源不足问题。
当一个Web服务器接受到大量短小线程的请求时,使用线程池技术是非常合适的,它可以大大减少线程的创建和销毁次数,提高服务器的工作效率。但如果线程要求的运行时间比较长,此时线程的运行时间比创建时间要长得多,单靠减少创建时间对系统效率的提高不明显,此时就不适合应用线程池技术,需要借助其它的技术来提高服务器的服务效率。
其实质就是解决线程生命周期开销问题和资源不足问题。
相关文章推荐
- LeetCode--Binary Tree Inorder Traversal
- iOS学习笔记--右滑返回
- Ligerui表格基本操作(二)
- 【BZOJ3687】简单题
- ActiveMQ入门示例
- string类到c的字符数组的方法
- 写个定时任务更新svn
- Ubuntu下进入Android adb/fastboot模式
- Android消息处理机制
- request.getRequestURL() getRequestURI区别
- 用U盘安卓esxi虚拟机出现 error loading /s.v00 错误解决办法
- 读书笔记-原码, 反码, 补码 详解
- UIButton (常用点击按钮)
- 你不知道的JavaScript--Item26 异步的脚本加载
- Toolbar显示菜单问题
- 1.5 使用Sqoop从HDFS导出数据到MySQL
- C#开发的进化史(从简单的数据类型开始)
- 乌班图中的ssh服务
- 你不知道的JavaScript--Item26 异步的脚本加载
- c#基础5