小陈:老王,最近学习并发不知如何入手,看的知识很零散;没多久又记不住了,你有啥好建议吗?
老王:来我这,我给你整理一下并发的知识和学习路线,能形成一个比较全面的知识图谱。聊起JAVA并发,还是需要把最基础的概念和知识梳理清楚,然后才能进入后面的深入的学习。
老王:我们先从CPU的多级缓存架构讲起,下面我画个图说一下CPU多级缓存架构:
计算机为什么要设计高速缓存架构?
小陈:CPU和主内存之间为啥要有个高速缓存,CPU直接读写内存不可以吗?
老王:给你分析下原因就知道了:
CPU与主存运行速度的差异
CPU是计算机的大脑,是负责执行指令的;自身的频率和指令执行的速度非常快,一秒执行的指令大概10^9级别的;内存的的速度要比CPU慢上好几个级别,每秒处理的速度大概是10^6的级别的。
CPU长时间空闲
这样就会导致一个问题;如果CPU要频繁的访问主存的话,每次都需要等待很长的时间,执行性能就会低,大部分时间都在等待主存返回数据,没有发挥出CPU的性能
引入高速缓存,减少CPU等待时间,提升运行效率:
多核CPU的多级缓存架构是怎么样的?
小陈:CPU和主存之间引入高速缓存的目的我