java多线程

1.synchronized&Lock.lock() 基于对象监视+队列

2.Atomic* 基于CAS

 缺点:

  1. 出现资源争用
  2. 相对来说比较占Cpu周期
  3. 出现aba问题

3.volatile,基于CPU Lock指令,一旦被修改,其他线程里的该对象地址会失效需要重新获取。保证了值的最新。

4.volatile的使用优化,独占cache line的对象。避免False sharing

 

并发框架Disruptor译文 http://coolshell.cn/articles/9169.html

posted @ 2013-03-13 15:31  花慕楼  阅读(184)  评论(0编辑  收藏  举报