清华架构大牛剖析高并发与多线程的关系、区别,带你击穿面试难题

25 篇文章 0 订阅

当提起这两个词的时候,是不是很多人都认为高并发=多线程?

当面试官问到高并发系统可以采用哪些手段来解决,是不是一脸懵逼?

确实,在一开始接触的时候,不少人都会将二者混淆,误以为所谓的高并发的系统就是能同时供海量用户访问,而采用多线程手段不就是可以提供系统的并发能力吗?

实际上,他们两个总是相伴而生,但侧重点又有不同。

什么是高并发?

相对于分布式来讲,高并发在解决的问题上会集中一些,其反应的是同时有多少量:比如在线直播服务,同时有上万人观看。

高并发可以通过分布式技术去解决,将并发流量分到不同的物理服务器上。

但除此之外,还可以有很多其他优化手段:比如使用缓存系统,将所有的,静态内容放到CDN等;还可以使用多线程技术将一台服务器的服务能力最大化。

什么是多线程?

多线程是指从软件或者硬件上实现多个线程并发执行的技术,它更多的是解决CPU调度多个进程的问题,从而让这些进程看上去是同时执行(实际是交替运行的)。

这几个概念中,多线程解决的问题是最明确的,手段也是比较单一的,基本上遇到的最大问题就是线程安全。

在JAVA语言中,需要对JVM内存模型、指令重排等深入了解,才能写出一份高质量的多线程代码。

高并发系统,多线程涉及到大量的概念和知识点,如果没有系统的学习,很容易会杂糅概念而辨识不清,在面试与实际工作中都会遇到困难。这些知识点,可以按照以下的多线程高并发的文档以及知识体系导图系统性的学习。

整份文档共九个章节

image.png

第一节:线程的基本概念
多线程与高并发大概讲六大块,

第一:基本的概念,从什么是线程开始
第二:JUC同步工具,就是各种同步锁态
第三:同步容器
第四:线程池
第五:高频面试加分项的- -些面试用的东西,包括线程
第六: Disruptor ,不知道有多少同学听说过这个框架的,这个框架它也是一个MQ框架( Message Queue )叫做消息队列,消息队列非常多,后面还会给大家讲Kafka、RabbitMQ ,Redis等这些都是消息队列。Disruptor是目前大家公认的在单机环境上效率最高的、性能最快的MQ.
由于篇幅限制,且不影响大家阅读体验,小编在这里只能给大家展示目录及部分内容,完整文档已备好。

本文到这里就结束了,希望大家都能有个好的阅读体验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值