线程池vs多线程
来源:互联网 发布:浩飞网络 编辑:程序博客网 时间:2024/05/22 06:48
做过一个基于线程池的http服务器,面试时老师经常会问到线程池跟多线程有什么好处,所以在这里总结一下:
当浏览器传送一个请求到达服务器后,如果是多线程,服务端会临时性的创建一个新的进程,来处理相应的客户端的请求,当一个线程处理完相应的客户端任务后,线程也就结束了自己的生命周期,不能再一次被启用。另外在java中,如果每当一个请求到达就会创建一个新的进程,开销是很大的。
在实际应用中,系统在创建和销毁线程所花的时间,有时候甚至比处理这个请求所花的时间更多,不光是创建和销毁,线程活动所花费的时间也是很多的。在jvm里创建太多的线程,则可能会使系统过渡消耗而系统出现资源不足的情况。
为了防止资源不足的情况,服务器程序应该想办法来限制给定时间内处理任务的数量,从而来减少线程创建和销毁的数目,尤其是那些比较大的对象,尽可能利用已有的对象进行服务。
线程池技术主要来解决系统资源不足的情况。首先,重用一个线程可以将线程的创建和开销都分摊给多个任务。其次,由于线程已经存在,可以消除线程创建带来的延迟,这样系统就可以立即为请求服务。另外通过调整线程池中线程的数量,可以防止出现资源不足的情况。
0 0
- 线程池vs多线程
- VS多线程下如何调试单线程
- 线程、多线程、线程池
- 线程、多线程、线程池
- 线程、多线程、线程池
- 线程、多线程与线程池
- 线程、多线程、线程池总结
- 事件驱动的单线程模型 VS 多线程模型
- 多线程编程(三)--创建线程之Thread VS Runnable
- 多线程编程(三)--创建线程之Thread VS Runnable
- 多线程编程(三)--创建线程之Thread VS Runnable
- 多线程-threading和进程VS线程(python 版)
- Java进程 vs 线程、线程池
- 【线程】线程/多线程问题/线程池
- 多线程-线程池
- 【多线程】线程池
- c# 线程池 多线程
- 多线程、线程池
- Oracle数据库恢复
- 2015年3月20/21日产品研讨会总结
- nio 高并发处理
- 摘录
- 管理神话
- 线程池vs多线程
- 下雪了
- 帝国CMS不同会员组会员显示不同内容的教程
- 推荐一个轻量级缓存框架——ACache(ASimpleCache)
- 禅道学习笔记
- iOS Core Data 数据迁移 指南
- jdk 线程池 threadPoolExecutor 源码剖析
- DataWindow.Net 2.5 配置
- 称重指示牌设备选型方案