“高并发和多线程”总是被被一起提起,给人的感觉好像他们相等,其实 高并发 不等于 多线程

多线程是完成任务的一种方法,高并发是系统运行的一种状态,通过多线程有助于系统承受高并发的状态的实现。

高并发是系统运行过程张遇到的一种“短时间内遇到大量的操作请求” 的情况,主要发生在web系统集中大量访问或者socket端口集中行收到大量请求(例如12306抢票;天猫双十一活动)。该情况会导致系统在这段时间内大量操作,例如对资源的请求,对数据库的集中操作等。如果并发处理不好,不仅降低了客户体验度(请求时间过长) ,同时可能导致宕机,系统停止工作等。如果想要系统适应高并发的状态,则需要从,硬件,软件,网络,系统架构,开发语言的选取,数据结构的运用,算法优化,数据库优化等。。。而多线程只是解决方案其中之一。

实现高并发需要考虑:

系统的架构设计,如何在架构层面减少不必要的处理(网络请求,数据库操作等)

网络拓扑优化网络请求的时间,如何设置网络拓扑的结构,分布式如何实现

服务集群,负载均衡

系统代码级别的优化,如何选取合适的设计模式,哪些需要是单例,哪些需要是尽量减少new操作

提高代码层面的运行效率,如何选取合适的数据结构进行数据的存取,如何设计合适的算法。

任务级别的同异步操作,在哪里同步,在哪里异步。

jvm调优 是以server模式还是以client模式运行,如何设置Heap、Stack、Eden的大小,如何选择GC策略,控制Full GC的频率。

数据库级别的优化,如何减少增删改查的时间。数据库的选取,数据库表设计,数据库索引,触发器的设计。是否使用读写分离,是否考虑数据仓库。

缓存数据库的使用,如何选取缓存数据库?是使用Redis还是使用Memcache?如何设置缓存机制。

数据通讯问题,如何选择数据通讯方式?是使用TCP还是UDP,是使用长连接还是短连接,是NIO还是BIO,是netty还是原生的socket?

操作系统的选取是winserver还是Linux还是Unix、

硬件的配置,8G内存还是32G内存

。。。

以上问题需要在高并发中深入的考虑,想木桶原理一样,只要其中的某一个方面没有考虑到,会造成系统的瓶颈,影响整的性能。而高并发不仅涉及面之广而且有要求有足够的深度。

多线程知识从同/异步角度上解决高并发的问题的其中之一的方法手段,是在同一时刻利用计算的闲置资源。

多线程在解决高并发的问题中所起到的作用是使用计算机的资源在每一个时刻都能达到最大的利率,不至于浪费计算机的闲置资源。

多线程和高并发的区别相关推荐

  1. 多线程导出excel高并发_大牛带你深入java多线程与高并发:JMH与Disruptor,确定能学会?...

    前言 今天我们讲两个内容,第一个是JMH,第二个是Disruptor.这两个内容是给大家做更进一步的这种多线程和高并发的一些专业上的处理.生产环境之中我们很可能不自己定义消息队列,而是使用 Disru ...

  2. java多线程实例_多线程&高并发(全网最新:面试题+导图+笔记)面试手稳心不慌...

    前言 当你开始开始去跳槽面试的时候,明明只是一份15K的工作,却问你会不会多线程,懂不懂高并发,火箭造得让你猝及不防,结果就是凉凉:现如今市场,多线程.高并发编程.分布式.负载均衡.集群等可以说是现在 ...

  3. 多线程&高并发(全网最新:面试题 + 导图 + 核心学习笔记)面试手稳心不慌,轻松拿下 offer,秋招跳槽必不可少的底层能力

    前言 当你开始开始去跳槽面试的时候,明明只是一份 15K 的工作,却问你会不会多线程,懂不懂高并发,火箭造得让你猝及不防,结果就是凉凉:现如今市场,多线程.高并发编程.分布式.负载均衡.集群等可以说是 ...

  4. 尚硅谷-互联网大厂高频重点面试题 (第2季)JUC多线程及高并发

    本期内容包括 JUC多线程并发.JVM和GC等目前大厂笔试中会考.面试中会问.工作中会用的高频难点知识. 斩offer.拿高薪.跳槽神器,对标阿里P6的<尚硅谷_互联网大厂高频重点面试题(第2季 ...

  5. java基础巩固-宇宙第一AiYWM:为了维持生计,多高(多线程与高并发)_Part1~整起(线程与进程篇:线程概念、线程状态、线程死锁)

    这个题目我感觉很多大哥大姐和我一样,虽然夹在众位大哥大姐中跟着一块喊着"多线程与高并发"的口号,但是这里面其实包含的东西并不像名字里面这么少.现在就开始咱们的旅程吧. 特此感谢,低 ...

  6. 多线程与高并发基础一(超发--多线程悲观锁,乐观锁、类数据库悲观锁乐观锁)

    PS:看完文章后对自己以前所做过的并发和锁机制有了深入原理的了解. 知其然和知其所以然! 遂以记之! 关键词: 线程,同步,单例,高并发,高访问,死锁 一.大规模并发带来的挑战 在过去的工作中,我曾经 ...

  7. 【Java】多线程与高并发

    多线程与高并发 synchronized 篇 进程 线程 协程/纤程(Quasur) 线程:一个程序里不同的执行路径 public static class T1 extends Thread{@Ov ...

  8. 纯干货,从源码解析多线程与高并发,再说不会,我不再踏足IT圈

    没什么太多说的,多线程与高并发,面试重点,咱直接进入正题,联合底层源码,我们从源码看一下,多线程与高并发底层的知识点,这也是阿里p8+的面试官建议的学习到的级别 CAS Compare And Swa ...

  9. java 多线程 安全 源码,纯干货,从源码解析多线程与高并发,再说不会,我再也不踏足IT圈...

    没什么太多说的,多线程与高并发,面试重点,咱直接进入正题,联合底层源码,咱们从源码看一下,多线程与高并发底层的知识点,这也是阿里p8+的面试官建议的学习到的级别java CAS Compare And ...

  10. 多线程与高并发-volatile与CAS

    多线程与高并发-volatile与CAS 1.volatile 1.1volatile的作用 1.2 DCL单例模式 1.3 volatile与synchronized的区分 2.CAS ABA问题 ...

最新文章

  1. Dalvik中类的加载
  2. java多线程之API初探(一)
  3. 14.理解copy_if算法的正确实现
  4. 一步一步教你抓数据——用.net精确提取网站数据的通用方法 [转]
  5. android 悬浮窗口和主界面同时显示,Android 悬浮窗口(及解决6.0以上无法显示问题)...
  6. 支付系统灰度发布原理图
  7. TextView 不用获取焦点也能实现跑马灯
  8. 小米路由器3无线网连接到服务器,小米路由器3设置完成后,手机能用,电脑没法上网...
  9. ai人工智能培训讲师计算机视觉讲师叶梓:计算机视觉领域的自监督学习模型——MAE-9
  10. 如何朴实无华的双开微信?
  11. java解惑之最后的笑声
  12. jetson nano-mavros-px4
  13. exchange2016邮件服务器配置,Exchange Server 2016客户端访问配置
  14. 学废了系列 - WebGIS vs WebGL图形编程
  15. Python 编程摘要
  16. dw中html文档命名标准,dw中的css是什么意思?
  17. Ardunio开发实例-敲击传感器
  18. 如何在Windows中使用虚拟文件测试网络或硬盘速度
  19. 阿里2013年双十一准备中的技术突破与亮点
  20. 嵌入式新手学习路线,嵌入式课程学习课程分享

热门文章

  1. Chrome 浏览器关闭了360主页防护后每次打开仍然是360导航问题排查与处理方法,不卸载360流氓软件解决chrome浏览器主页锁定问题
  2. Hearbeat + Nginx 安装配置
  3. grid on在matlab功能,matlab中的grid on语句什么意思?如何使用,谢谢。
  4. html中电脑自动输入,电脑一直自动打字怎么办
  5. 懒人脚本查看本机IP地址
  6. 利用python在excel中画图
  7. 通过wait,notify等实现线程通讯
  8. matlab中的fig文件怎么编辑,matlab fig文件的操作
  9. 快捷打开计算机管理设置,Win7系统下怎么设置Ctrl+Alt+Del快捷打开任务管理器【图文】...
  10. appium +夜神模拟器 java代码sendkeys 无法在模拟器输入中文