java并发知识合集(前置知识——cup多级缓存)

  本篇知识主要包括:缓存一致性和乱序执行优化。

  一.缓存一致性(主流的缓存一致性协议——MESI)

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

    概念:MESI是一种主流的缓存一致性协议,已经用在Pentium和PowerPC处理器中。它定义了缓存块的几种状态

      • modified(修改):缓存块已经被修改,必须被写回主存,其他处理器不能再缓存这个块
      • exclusive(独享):缓存块还没有被修改,且其他处理器不能装入这个缓存块,与主存中的数据一致,其他cpu读取时变成共享状态,修改时变成修改状态 
      • share(共享):缓存块未被修改,且其他处理器可以装入这个缓存块
      • invalid(无效):缓存块中的数据无效,可能时其他cpu修改了该缓存行
    •   操作如下:

  二.乱序执行优化

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

    目的以及缺点:提高了处理速度,但会让我们的代码执行顺序发生变化,在多核时代会出现很多问题。

  注:感谢慕课网jimin老师,做这个并发集合知识总结的初衷完全是因为看完他的《Java并发编程与高并发解决方案》产生的想法。

  

猜你喜欢

转载自www.cnblogs.com/hxiaob/p/9089458.html