简单说说JSR133中理解程序被正确的同步,有哪些概念可以参考?

冲突访问(Conflicting Accesses ) 对同一个共享字段或数组元素存在两个访问(读
或写),且至少有一个访问是写操作,就称作有冲突。

Happens-Before  关系 两个动作(action)可以被 happens-before 关系排序。如果一
个动作 happens-before 另一个动作,则第一个对第二个可见,且第一个排在第二个
之前。必须强调的是,两个动作之间存在 happens-before 关系并不意味着这些动作
在 Java 中必须以这种顺序发生。happens-before 关系主要用于强调两个有冲突的动
8 / 66
作之间的顺序,以及定义数据争用的发生时机。可以通过多种方式包含一个
happens-before 顺序,包括:
  某个线程中的每个动作都 happens-before 该线程中该动作后面的动作。
  某个管程上的 unlock 动作 happens-before 同一个管程上后续的 lock 动作。
  对某个 volatile 字段的写操作 happens-before 每个后续对该 volatile 字段的读
操作。
  在某个线程对象上调用 start() 方法 happens-before 该启动了的线程中的任意
动作。
  某个线程中的所有动作 happens-before 任意其它线程成功从该线程对象上的
join()中返回。
  如果某个动作 a happens-before 动作 b,且 b happens-before 动作 c,则有 a
happens-before c. 

转载于:https://my.oschina.net/u/914290/blog/806486

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值