新的 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/
* 线程中的每一个操作 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版权协议,转载请附上原文出处链接和本声明。