Happens-before order

17.4.5 Happens-before Order

Two actions can be ordered by a happens-before relationship. If one action happens-before another, then the first is visible to and ordered before the second.

If we have two actions x and y , we write hb (x , y ) to indicate that x happens-before y .

 

If x and y are actions of the same thread and x comes before y in program order, then hb ( x , y ). There is a happens-before edge from the end of a constructor of an object to the start of a finalizer (§12.6) for that object. If an action x synchronizes-with a following action y , then we also have hb ( x , y ). If hb ( x , y ) and hb ( y , z ), then hb ( x , z ).

It should be noted that the presence of a happens-before relationship between two actions does not necessarily imply that they have to take place in that order in an implementation. If the reordering produces results consistent with a legal execution, it is not illegal.

 

最后是说有happens-before关系的两个action在实现中未必会按照那样发生,因为之前可能还存在合法的变序操作

 

http://java.sun.com/docs/books/jls/third_edition/html/memory.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值