并发专题一
  YDd3mdtmR57l 2023年11月01日 35 0

前言

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

1: 什么时候发生并发

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

思考: 当两个程序在不同的CPU种执行的时候,会产生并发行为吗?

答案: 不会产生,因为两个CPU执行的不同程序指令,不存在数据共享,不会产生并发。

如果是下面这张图呢?

image

当两个CPU 同时执行一段指令的时候,这个时候CPU之间需要进行数据读写,这个时候就会产生并发问题。

Tip 那我们开始思考一个问题,在我们的应用系统中并发会产生在哪些位置?

2: 并发发生的位置

image

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

3: 解决并发的方案

3.1 线程级别

image

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

3.2 CPU级别

image

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   114   0   0 Java
  8s1LUHPryisj   2024年05月17日   49   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
YDd3mdtmR57l