JMM的happend-before原则

新的 JMM 非正式地定义了一个名为 happens-before 的排序,它是程序中所有操作的部分顺序,如下所示:

* 线程中的每一个操作 happens-before这个线程中在程序顺序中后面出现的每一个操作

* 对监视器的解锁 happens-before同一监视器上的所有后续锁定

* 对 volatile 字段的写 happens-before同一 volatile 的每一个后续读

* 对一个线程的 Thread.start() 调用 happens-before在启动的线程中的所有操作

* 线程中的所有操作 happens-before 从这个线程的 Thread.join() 成功返回的所有其他线程

转自:http://www.ibm.com/developerworks/cn/java/j-jtp03304/

版权声明:本文为smart_k原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。