2014年2月19日

摘要: 在上篇《非阻塞同步算法与CAS(Compare and Swap)无锁算法》中讲到在Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作,为什么?为什么volatile能替代简单的锁,却不能保证原子性?这里面涉及volatile,是java中的一个我觉得这个词在Java规范中从未被解释清楚的神奇关键词,在Sun的JDK官方文档是这样形容volatile的:The Java programming language provides a second mechanism, volatile fields, that is more c 阅读全文
posted @ 2014-02-19 18:25 Mainz 阅读(45344) 评论(11) 推荐(18) 编辑

导航