并发编程的基础

Posted xiaonantianmen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发编程的基础相关的知识,希望对你有一定的参考价值。

0.基本介绍

并发

技术分享图片

高并发:

技术分享图片

 

一、CPU多级缓存

技术分享图片

1、为什么需要CPU cache:

CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题(结构:cpu------>cache------------>memory)

2、CPU cache有什么意义:

2.1 时间局部性:如果摸个数据被访问,那么在不久的将来它很可能被再次访问

2.2空间局部性:如果摸个数据被访问,那么与它相邻的数据很快也可能被访问

二、CPU多级缓存-缓存一致性(MESI)

用于保证多个CPU cache 之间缓存共享数据的一致

技术分享图片            技术分享图片

 

M:被修改

E:独享

S:共享

I:无效

三、CPU多级缓存-乱序执行优化

1、处理器为了提高运算速度而做出违背代码原有顺序的优化

技术分享图片

 

 开始代码:

技术分享图片

 

cpu可能的执行顺序

技术分享图片

 

以上是关于并发编程的基础的主要内容,如果未能解决你的问题,请参考以下文章

高并发编程必备基础 -- 转载自 并发编程网

编程内功心法「多线程并发编程」技术体系和并发模型的基础探究(夯实基础)

并发编程之基础( 四)

并发编程基础

并发编程并发编程中你需要知道的基础概念

计算机基础了解并发编程