![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
17610229712
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap---原理分析之分而治之思想
addCount()` private final void addCount(long x, int check) { CounterCell[] as; long b, s; if ((as = counterCells) != null || !U.compareAndSwapLong(this, BASECOUNT, b = bas...原创 2020-06-11 20:19:10 · 165 阅读 · 0 评论 -
线程安全性原理分析---Lock(让你明白彻底AQS实现原理)
ReentrantLock 的实现原理结合上篇《Lock基础分析》那么我们接下来分析下它的实现原理。我们知道锁的基本原理是:基于将多线程并行任务通过某一种机制实现线程的串行执行,从而达到线程安全性的目的。在 synchronized 中,我们分析了偏向锁、轻量级锁、乐观锁。基于乐观锁以及自旋锁来优化了 synchronized 的加锁开销,同时在重量级锁阶段,通过线程的阻塞以及唤醒来达到线程竞争...原创 2020-03-28 11:56:45 · 413 阅读 · 0 评论 -
线程安全性原理分析---Lock(基础篇)
JUC 简介Java.util.concurrent 是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。...原创 2020-03-28 09:43:43 · 295 阅读 · 0 评论 -
线程安全性原理分析---Synchronized
synchronized 的基本使用:1).修饰实列方法2)修饰静态方法3)修饰代码块Syncornized 底层分析synchornized(lock)lock 锁对象中在JVM内存结构中会有一个对象头信息hostpots 源码中定义对象头如下:32位虚拟机中对象头信息结构图:synchornezed 锁的几种状态:无锁:(偏向锁>轻量级锁)重量级锁(真正意义上的加...原创 2020-03-23 13:50:41 · 135 阅读 · 0 评论 -
线程安全性原理分析---Volatile(JMM层面)
线程安全性原理分析(二)原创 2020-03-22 09:45:35 · 235 阅读 · 0 评论 -
线程安全性原理分析---Volatile(硬件层面)
线程安全性原理分析Volatile 一段代码引发起我们的思考,下面这段代码 使用volatile 跟去掉有什么区别?public class App { public volatile static boolean stop = false; //加上volatile 程序运行完后,立马结束。 public static void main(String[] args)...原创 2020-03-22 09:41:06 · 426 阅读 · 0 评论 -
线程安全性原理分析---基础篇
多线程并发–基础篇目并发的发展历史:真空管/穿孔打点 计算机处理中会出现空闲状态。晶体管/批处理操作系统IO问题,造成CPU 资源浪费.集成电路/多道程序设计进程A(阻塞)/切换成进程B cpu 进程切换时间较短 ,对用户来说 看上去是同步进行的基于CPU时间片切换的原理图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DEvBs92j-1...原创 2020-03-21 11:50:10 · 161 阅读 · 0 评论