happens-before 和 as-if-serial 对比
as-if-serial语义 | happens-before规则 |
---|---|
as-if-serial语义保证单线程内程序的执行结果不被改变 | happens-before关系保证正确同步的多线程程序的执行结果不被改变 |
as-if-serial语义给编写单线程程序的程序员创造了一个幻境:单线程程序是按程序的顺序来执行的。 | happens-before关系给编写正确同步的多线程程序的程序员创造了一个幻境:正确同步的多线程程序是按happens-before指定的顺序来执行的。 |
-----------------------------------------------------------------------------摘自 书名:Java并发编程的艺术 作者:方腾飞;魏鹏;程晓明