并发专题一
前言
经常在网上看到一些博客,介绍高并发。由于我们在实际开发过程遇到高并发的场景非常少,一直觉得很高大上, 那我们通过CPU,操作系统,和JDK 等方面揭开高并发的''神秘面纱''。
1: 什么时候发生并发
在计算机中,CPU执行程序指令的。那我们看下下面这个图
思考: 当两个程序在不同的CPU种执行的时候,会产生并发行为吗?
答案: 不会产生,因为两个CPU执行的不同程序指令,不存在数据共享,不会产生并发。
如果是下面这张图呢?
当两个CPU 同时执行一段指令的时候,这个时候CPU之间需要进行数据读写,这个时候就会产生并发问题。
Tip 那我们开始思考一个问题,在我们的应用系统中并发会产生在哪些位置?
2: 并发发生的位置
上图全面描述了整个指令会发生并发的地方,并且描述了解决并发的方案。由于CPU 和 其他OS 都已经解决了原子性问题,其实我们只需要关心使用线程过程中并发的问题。
3: 解决并发的方案
3.1 线程级别
Tip : 这里只是简单的描述一下并发的解决方案,后面的文章还会介绍JUC的整体结构以及详细的并发设计,请关注后面的文章
3.2 CPU级别
Tip : 这里只是简单的描述一下CPU级别的并发解决方案 后面会有一篇文章主要介绍CPU级别是怎么解决并发的。
本文来自博客园,作者:笨笨的二黄子,转载请注明原文链接:https://www.cnblogs.com/zwhdd/p/17158103.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix