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