06 2016 档案

摘要:一、简单回顾ConcurrentHashMap在jdk1.7中的设计 先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示: 每一个segment都是一个HashEntry<K,V>[] table, table中的每一个元素本质上都是一个HashEntry的单向 阅读全文
posted @ 2016-06-20 21:15 everSeeker 阅读(41620) 评论(2) 推荐(3)
摘要:本文内容主要总结自《Java并发编程的艺术》第5章——Java中的锁。 一、AQS AbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步组建的基础框架。该类主要包括: 1、模式,分为共享和独占。 2、volatile int state,用来表示锁 阅读全文
posted @ 2016-06-13 20:42 everSeeker 阅读(2009) 评论(0) 推荐(3)
摘要:一、CAS和synchronized适用场景 1、对于资源竞争较少的情况,使用synchronized同步锁进行线程阻塞和唤醒切换以及用户态内核态间的切换操作额外浪费消耗cpu资源;而CAS基于硬件实现,不需要进入内核,不需要切换线程,操作自旋几率较少,因此可以获得更高的性能。 2、对于资源竞争严重 阅读全文
posted @ 2016-06-08 11:04 everSeeker 阅读(6846) 评论(5) 推荐(2)