2015年8月11日
摘要: 在编程中,一个原子操作是只会出现一次的。一个原子操作在中间不会停止:要么全部发生要么一点也不发生。我们只有在原子操作完成之后才会看到原子操作的具体影响。甚至是非常简单的表达式能够构造分解为简单操作的复杂操作。但是,你可以指定一些原子操作: + 对于所有的引用变量和大部分的原始类型(除了long和do... 阅读全文
posted @ 2015-08-11 10:41 叼烟斗的纤夫 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 关于happens-before规则的解释网上有很多,我就不敢班门弄斧了。贴出两篇不错的文章以供学习。#1.[happens-before俗解](http://ifeve.com/easy-happens-before/)#2.[深入Java内存模型——happen-before规则](http:/... 阅读全文
posted @ 2015-08-11 10:22 叼烟斗的纤夫 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 当不同的线程针对相同的数据却读到了不同的值时就发生了内存一致性错误。内存一致性错误的原因是非常复杂的。幸运的是我们程序员不需要详细的理解这些原因,我们需要做的事情就是使用策略来规避这些。避免内存一致性错误的关键就是需要先理解`happens-before ` 关系。这个关系只是简单保证了一个确定语句... 阅读全文
posted @ 2015-08-11 09:39 叼烟斗的纤夫 阅读(791) 评论(0) 推荐(0) 编辑