sponsored links

Causality Requiremen

对 Java 内存模型的理解

August 17
对 Java 内存模型的理解
Java 内存模型 Java内存模型规定了在多线程程序中,什么样的行为是允许出现的,什么样的行为是禁止出现的.这样说可能有点抽象,我们换一个角度.将程序行为抽象成读操作和写操作,每个线程有自己的局部变量,同时线程之间还存在共享变量.那么一个多线程程序执行结束后,所有变量会有一个最终值.Java内存模型来决定什么样的值合法,什么样的值不合法. 内存模型不能要求的太严格,这样会阻碍很多优化方法,降低程序执行的效率,但也不能要求的太松,因为这样会导致一些执行结果违反我们的直觉.例如指令间的重排序问题,