JUC
文章平均质量分 61
byteyoung
点击关注,永不迷路!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AQS
前言:今天无意中看到了"中华石衫"大佬的公众号的文章,觉得很不错,就摘录下来了。 1.写在前面: 这篇文章,我们来聊聊面试时一个比较有杀伤力的问题:聊聊你对AQS的理解? 之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。因为首先,很多人可能连AQS是什么都不知道。或者仅仅是听说过AQS这个名词,但是可能连全称怎么拼写都不知道。更有甚者,可能会说:AQS?是不是一种思想?我们平时开发怎么来用AQS?总结起来,很多同学都对AQS有一种云里雾里的原创 2021-03-11 18:38:09 · 136 阅读 · 0 评论 -
AQS
文章目录 ①. 可重入锁 ②. 为什么要使用LockSupport ③. JUC强大的三个工具类 ①. CountDownLatch(闭锁) ②. CyclicBarrier ③.Semaphore(信号量) ④. LockSupport详解 ⑤. AbstractQueuedSynchronizer之AQS ①. AQS是什么? ②. AQS内部体系架构 ③. ReentrantLock开始解读AQS ①. 代码展示: ②. 从最简单的lock方法开始看看公平和非公平 ③. lock() ④. tryAc原创 2021-03-10 15:20:22 · 135 阅读 · 0 评论 -
JUC多线程尚硅谷
JUC多线程及高并发 JUC多线程及高并发一、请你谈谈对volatile的理解1、volatile是java虚拟机提供的轻量级的同步机制2、JMM(java内存模型)3、你在那些地方用过volatile二、CAS你知道吗1、compareAndSet----比较并交换2、CAS底层原理?对Unsafe的理解3、CAS缺点三、原子类AtomicInteger的ABA问题?原子更新引用?1、ABA如何产生2、如何解决?原子引用3、时间戳的原子引用四、我们知道ArrayList是线程不安全的,请编写一个不安全的原创 2021-03-10 10:39:01 · 606 阅读 · 0 评论 -
什么是线程安全,同步阻塞/同步非阻塞,异步阻塞/异步非阻塞
举个栗子 1、你在家做饭,用普通的汤锅,米放进去,就站在锅边,傻等饭熟。——这叫同步阻塞 是不是觉得浪费了大量的时间,于是你想提高时间的利用效率。 2、还是用普通的汤锅,米放进去,然后继续回去打游戏,过一会就来看一次。——这叫同步非阻塞 时间的利用率稍微提升了一点点,还有没有办法再提升一点呢? 3、你去某宝淘了个电饭锅,饭熟了会自动跳闸的那种。米放进去,然后傻傻的看它怎么做饭的。——这叫异步阻塞 这有什么意义呢?完全没利用好电饭锅的优势啊 4、这回学聪明了,米放进去,按下按钮,然后就去打游戏了,等到跳闸原创 2020-09-23 16:41:25 · 349 阅读 · 0 评论 -
readWriteLock的使用
import java.util.HashMap; import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantLock; import java.util.concurre.原创 2020-08-25 15:36:47 · 203 阅读 · 0 评论 -
Copy-on-write
含义: 写入时复制(英语:Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(callers)同时要求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变。这过程对其他的调用者都是透明的(transparently)。此作法主要的优点是如果调用者没有修改该资源,就不会有副本(priv原创 2020-08-24 15:10:19 · 1119 阅读 · 0 评论 -
lock 顺序执行
lock中类似wait和notify的方法: await和signal/signalAll 原理:lock中使用Condition类做为锁监视器,调用Condition的await()和signal()实现线程的等待和唤醒。 实现代码: Lock lock=new ReentrantLock(); Condition condition=lock.newCondition(); lock.lock(); try{ while(...){ condition.await();原创 2020-08-23 22:11:29 · 588 阅读 · 0 评论 -
JAVA并发编程(JUC)
java.util.concurrent 并发编程中使用的工具类 java.util.concurrent.atomic java.util.concurrent.locks 1.进程/线程? 进程:和操作系统有关系,后台运行的一个程序就是进程 线程:轻量级的进程 容灾备份线程,文字检查线程,QQ内在线传文件,在线聊天 2.并发/并行 多个线程同一时间点争取同一资源 并发:同⼀时间段,多个任务都在执⾏(单位时间内不⼀定同时执⾏); 并⾏:单位时间内,多个任务同时执⾏。 你...原创 2020-08-22 17:01:45 · 511 阅读 · 0 评论
分享