请选择 进入手机版 | 继续访问电脑版

学JAVA网

 找回密码
 立即注册

JAVA中级教程--java多线程与使用场景

[复制链接]
发表于 2018-2-7 11:02:45 |显示全部楼层
    Java多线程的使用在Java开发中占据了一些不可低估的分量。用好了万事顺利。

      多进程
           
      多线程



多线程使用的主要目的在于:

1、吞吐量:你做WEB,容器帮你做了多线程,但是他只能帮你做请求层面的。简单的说,可能就是一个请求一个线程。或多个请求一个线程。如果是单线程,那同时只能处理一个用户的请求。

2、伸缩性:也就是说,你可以通过增加CPU核数来提升性能。如果是单线程,那程序执行到死也就利用了单核,肯定没办法通过增加CPU核数来提升性能。

鉴于你是做WEB的,第1点可能你几乎不涉及。那这里我就讲第二点吧。

--举个简单的例子:
假设有个请求,这个请求服务端的处理需要执行3个很缓慢的IO操作(比如数据库查询或文件查询),那么正常的顺序可能是(括号里面代表执行时间):
a、读取文件1  (10ms)
b、处理1的数据(1ms)
c、读取文件2  (10ms)
d、处理2的数据(1ms)
e、读取文件3  (10ms)
f、处理3的数据(1ms)
g、整合1、2、3的数据结果 (1ms)
单线程总共就需要34ms。
那如果你在这个请求内,把ab、cd、ef分别分给3个线程去做,就只需要12ms了。
https://www.cnblogs.com/kenshinobiy/p/4671314.html




负载均衡
            Nginx+Tomcat负载均衡详述与实战 地址  地址2

END




您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|沙漏笔记

GMT+8, 2019-4-24 13:57 , Processed in 0.121805 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Copyright © 2015-2018 xuejava网 / 鲁ICP备17054568号-1
回顶部