java线程模型

孤人 提交于 2021-01-27 22:31:42

参考:https://www.bilibili.com/video/BV1z4411q7hB?p=2

概念:

原子性、有序性、可见性、

内存屏障

1.     多cpu,多缓存寄存器,  主内存, 组成。

cpu1   cache2                                  

                                                                            main memory

cpu2   cache2

 

 

2. volatile 的作用, 共享变量在不同线程间的共,保证变量操作的可见性,有序性,并不能保证原子性。 实现原理,底层汇编实现的 MESI缓存一致性的协议。

 

3.乱序

JVM设计乱序执行,为了提高效率,对于大部分的程序是可以顺序执行的,但很多语句并非是原子操作。机器指令的执行顺序是并行执行的。

  寄存器 与 主内存的速度比是 100: 1。

乱序的原则:

 1.  as-if-serial

2. 不影响单线程的最终一致性。

 

4.

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!