
JUC
Holy_Zz
这个作者很懒,什么都没留下…
展开
-
【JUC系列第四篇】-CountDownLatch使用场景分析
作者 : 毕来生微信: 878799579前言 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器 的性能。今天我们来聊一聊CountDownLatch 的使用场景。看看它到底是怎么玩耍的。CountDownLatch 是干什么的? CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作 之前,它允许一个或多个线程一直...原创 2019-01-03 22:26:19 · 383 阅读 · 0 评论 -
【JUC系列第五篇】-ReentrantLock锁原理解读
作者 : 毕来生微信: 878799579锁状态转换Lock分类 Jdk1.5以后帮助我们提供了线程同步机制,通过显示定义同步锁来实现对象之间的同步。还是Doug Lea这个家伙写的。相信读过源码的人在很多地方都可以看到这个家伙。 Lock可以显示的进行加锁,解锁。但是每次只能有一个线程对Lock对象加锁 Lock实现结构如下图所示: 按照使用的常用度,分别标注了(1...原创 2019-01-03 22:29:15 · 359 阅读 · 0 评论 -
【JUC系列第一篇】-Volatile关键字及内存可见性
作者:毕来生微信:878799579什么是JUC?JUC全称 java.util.concurrent 是在并发编程中很常用的实用工具类2.Volatile关键字1、如果一个变量被volatile关键字修饰,那么这个变量对所有线程都是可见的。2、如果某条线程修改了被Volatile修饰的这个变量值,修改后的值对于其他线程来时是立即可见的。3、并不是经过Volatile...原创 2019-01-02 19:56:10 · 286 阅读 · 0 评论 -
【JUC系列第二篇】-原子变量
作者:毕来生微信:8787995791、什么是原子变量? 原子变量保证了该变量的所有操作都是原子的,不会因为多线程的同时访问而导致脏数据的读取问题。2、通过synchronized保证原子操作获取锁对象获取失败/获取不到 ->阻塞队列等待释放锁对象3、Atomic之AtomicInteger源码分析java.util.concurrent.atomi...原创 2019-01-02 19:58:54 · 302 阅读 · 0 评论 -
【JUC系列第三篇】-CAS算法详解
作者 : 毕来生微信: 8787995791、CAS是什么?CAS是英文单词(Compare-And-Swap)的缩写,中文意思是:比较并替换。CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。整个比较并替换的操作是一个原子操作。Cas乐观锁算法演示...原创 2019-01-02 20:00:56 · 506 阅读 · 0 评论