死磕java并发
文章平均质量分 90
gold_zwj
经典终究是经典-永不过时
展开
-
读写锁(转)
前言前面介绍了java中排它锁,共享锁的底层实现机制,本篇再进一步,学习非常有用的读写锁。鉴于读写锁比其他的锁要复杂,不想堆一大波的文字,本篇会试图图解式说明,把读写锁的机制用另外一种方式阐述,鉴于本人水平有限,如果哪里有误,请不吝赐教。公平读写锁ReentrantReadWriteLock的锁策略有两种,分为公平策略和非公平策略,两者有些小区别,为便于理解,本小节将以示例的形式来说明多线程下,使...转载 2018-05-07 20:48:31 · 722 阅读 · 0 评论 -
可重入锁(转)
前言相信学过java的人都知道 synchronized 这个关键词,也知道它用于控制多线程对并发资源的安全访问,兴许,你还用过Lock相关的功能,但你可能从来没有想过java中的锁底层的机制是怎么实现的。如果真是这样,而且你有兴趣了解,今天我将带领你轻松的学习下java中非常重要,也非常基础的可重入锁-ReentrantLock的实现机制。听故事把知识掌握了在一个村子里面,有一口井水,水质非常的...转载 2018-05-07 20:49:56 · 171 阅读 · 0 评论 -
CountDownLatch(转)
前言前面介绍了ReentrantLock,又叫排他锁,本篇主要通过CountDownLatch的学习来了解java并发包中是如何实现共享锁的。CountDownLatch使用解说CountDownLatch是java5中新增的一个并发工具类,其使用非常简单,下面通过伪代码简单看一下使用方式: 这是一个使用CountDownLatch非常简单的例子,创建的时候,需要指定一个初始状态值,本例为2,主线...转载 2018-05-07 20:50:54 · 150 阅读 · 0 评论 -
java并发之SynchronousQueue实现原理(转)
前言SynchronousQueue是一个比较特别的队列,由于在线程池方面有所应用,为了更好的理解线程池的实现原理,笔者花了些时间学习了一下该队列源码(JDK1.8),此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理。SynchronousQueue简单使用经典的生产者-消费者模式,操作流程是这样的:有多个生产者,可以...转载 2018-05-07 20:51:41 · 287 阅读 · 0 评论