
并发编程艺术
文章平均质量分 94
赫于富
这个作者很懒,什么都没留下…
展开
-
并发编程-volatile
目录前言:普通 变量读写操作然后根据这些交互操作并且结合上面的例子我们来看一下普通变量访问的流程图:Volatile修饰变量的读写Volitate最初的时候是使用总线锁:Volatile实现 原理:实现过程:那么volatile会不会导致两个线程同时对内存中的值做修改?(volatile的实现原理)Lock前缀指令会做两件事:前言: 上一篇JMM内存模型中已经提到了内存模型中提供了“缓存一致性协议”,那我们在多线程中是不是就可以实现多个线程...原创 2021-07-14 17:00:40 · 545 阅读 · 9 评论 -
并发编程-JMM内存模型
刚刚搭建完angular环境之后我就迫不及待的打开 Vs Code 来创建一个新的项目 但是这个时候出现了问题:弹出的错误提示窗口:通过站在巨人的肩膀上我解决了问题:问题: 虽然配置了环境,但是我们在配置环境之后需要修改我们的h...原创 2021-07-14 16:10:30 · 200 阅读 · 1 评论 -
并发编程-ThreadPoolExecutor的三种线程池
目录前言:FixedThreadPool参数:执行流程图:代码测试:执行流程不推荐使用该方式来创建线程池:SingleThreadExecutor参数:流程图:CachedThreadPoolSynchronousQueue队列的特点:执行流程图:项目中用了这个Cahce线程池出现的问题:Executors 返回线程池对象的弊端如下:前言:上一篇介绍的是直接使用ThreadPoolExecutor来创建线程池,很多人也称通过Threa.原创 2021-07-13 10:25:18 · 680 阅读 · 1 评论 -
并发编程-ThreadPoolExecutor 源码解析
刚刚搭建完angular环境之后我就迫不及待的打开 Vs Code 来创建一个新的项目 但是这个时候出现了问题:弹出的错误提示窗口:通过站在巨人的肩膀上我解决了问题:问题: 虽然配置了环境,但是我们在配置环境之后需要修改我们的h...原创 2021-07-13 09:54:18 · 473 阅读 · 2 评论 -
并发编程 - 浅谈 AQS 源码
目录一、ReentrantLock二、AQS1.和ReentrantLock的关系2.AQS队列同步器源码分析同步队列:独占式同步队列状态获取和释放:释放锁并且唤醒一下一个处于part挂起状态的线程:一、ReentrantLock 在Lock接口出现之前,Java程序主要是靠Synchronized关键字来实现锁的功能,但是在Java 5之后在并发包中增加了Lock接口来实现锁的功能,其中ReentrantLock就是Lo...原创 2021-07-12 21:14:17 · 263 阅读 · 2 评论