多线程的应用场景
2017-05-19 22:15
155 查看
通俗的解释一下多线程先:
多线程用于堆积处理,就像一个大土堆,一个推土机很慢,那么10个推土机一起来处理,当然速度就快了,不过由于位置的限制,如果20个推土机,那么推土机之间会产生相互的避让,相互摩擦,相互拥挤,反而不如10个处理的好,所以,多线程处理,线程数要开的恰当,就可以提高效率。
多线程使用的目的:
1、 吞吐量:做WEB,容器帮你做了多线程,但是它只能帮你做请求层面的,简单的说,就是一个请求一个线程(如struts2,是多线程的,每个客户端请求创建一个实例,保证线程安全),或多个请求一个线程,如果是单线程,那只能是处理一个用户的请求
6、 tomcat,tomcat内部采用多线程,上百个客户端访问同一个WEB应用,tomcat接入后就是把后续的处理扔给一个新的线程来处理,这个新的线程最后调用我们的servlet程序,比如doGet或者dpPost方法
7、 后台任务:如定时向大量(100W以上)的用户发送邮件;定期更新配置文件、任务调度(如quartz),一些监控用于定期信息采集
8、 自动作业处理:比如定期备份日志、定期备份数据库
9、 异步处理:如发微博、记录日志
10、 页面异步处理:比如大批量数据的核对工作(有10万个手机号码,核对哪些是已有用户)
多线程用于堆积处理,就像一个大土堆,一个推土机很慢,那么10个推土机一起来处理,当然速度就快了,不过由于位置的限制,如果20个推土机,那么推土机之间会产生相互的避让,相互摩擦,相互拥挤,反而不如10个处理的好,所以,多线程处理,线程数要开的恰当,就可以提高效率。
多线程使用的目的:
1、 吞吐量:做WEB,容器帮你做了多线程,但是它只能帮你做请求层面的,简单的说,就是一个请求一个线程(如struts2,是多线程的,每个客户端请求创建一个实例,保证线程安全),或多个请求一个线程,如果是单线程,那只能是处理一个用户的请求
6、 tomcat,tomcat内部采用多线程,上百个客户端访问同一个WEB应用,tomcat接入后就是把后续的处理扔给一个新的线程来处理,这个新的线程最后调用我们的servlet程序,比如doGet或者dpPost方法
7、 后台任务:如定时向大量(100W以上)的用户发送邮件;定期更新配置文件、任务调度(如quartz),一些监控用于定期信息采集
8、 自动作业处理:比如定期备份日志、定期备份数据库
9、 异步处理:如发微博、记录日志
10、 页面异步处理:比如大批量数据的核对工作(有10万个手机号码,核对哪些是已有用户)
相关文章推荐
- 区分异步和多线程应用场景(IO操作包括获取网络数据用异步,大量耗时的计算用线程)
- java多线程应用场景
- 多线程的而应用场景(同时干多件事情)
- 多线程的应用场景以及其实现方式
- JAVA多线程 join() 方法详解及应用场景
- .net 读书笔记 区分异步和多线程应用场景
- 多线程的应用场景
- 【多线程 1】多线程的应用场景:从指令流水线—多线程
- 【多线程 1】多线程的应用场景:从指令流水线—多线程
- 建议71:区分异步和多线程应用场景
- Java中应用多线程的场景?
- 多线程 - 13.RunLoop应用场景
- 编写高质量代码改善C#程序的157个建议——建议71:区分异步和多线程应用场景
- 多进程和多线程的应用场景
- 多线程应用场景
- 建议71:区分异步和多线程应用场景
- ***JAVA多线程的应用场景和应用目的举例
- 多线程的应用场景
- java多线程的理论、应用场景、实现方法及实际案例
- 多线程之Future和Callable【高性能应用场景java.util.concurrent】