并发专题一

[复制链接]
发表于 2023-2-26 23:07:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
前言

​    经常在网上看到一些博客,介绍高并发。由于我们在实际开发过程遇到高并发的场景非常少,一直觉得很高大上, 那我们通过CPU,操作系统,和JDK 等方面揭开高并发的''神秘面纱''。
1: 什么时候发生并发

​    在计算机中,CPU执行程序指令的。那我们看下下面这个图

思考:  当两个程序在不同的CPU种执行的时候,会产生并发行为吗?
答案: 不会产生,因为两个CPU执行的不同程序指令,不存在数据共享,不会产生并发。
如果是下面这张图呢?

当两个CPU 同时执行一段指令的时候,这个时候CPU之间需要进行数据读写,这个时候就会产生并发问题。
Tip   那我们开始思考一个问题,在我们的应用系统中并发会产生在哪些位置?
2: 并发发生的位置


上图全面描述了整个指令会发生并发的地方,并且描述了解决并发的方案。由于CPU 和 其他OS 都已经解决了原子性问题,其实我们只需要关心使用线程过程中并发的问题。
3: 解决并发的方案

3.1 线程级别


Tip :  这里只是简单的描述一下并发的解决方案,后面的文章还会介绍JUC的整体结构以及详细的并发设计,请关注后面的文章
3.2 CPU级别


Tip :  这里只是简单的描述一下CPU级别的并发解决方案 后面会有一篇文章主要介绍CPU级别是怎么解决并发的。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表