多线程与并发
qq_42524262
这个作者很懒,什么都没留下…
展开
-
volatile关键字原理解析
在多线程开发时,我们希望每个线程对共享变量的修改对其他线程可见,这时候我们会给共享变量加一个volatile关键字,那么它的底层是如何实现的,这篇博客我们就解析一下volatile的原理。 JMM 在此之前我们需要先了解一下java内存模型JMM 每个线程访问共享变量时并不是直接访问主内存,而是先将共享变量拷贝到各自的工作内存,等线程结束后再将工作内存中的共享副本变量写回主内存。这些过程都是通过J...原创 2019-09-10 20:57:20 · 290 阅读 · 0 评论 -
AQS原理解析(独占式)
简介 AQS的全称为(AbstractQueuedSynchronizer)。 AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Semaphore,其他的诸如ReentrantReadWriteLock,SynchronousQueue,FutureTask等等皆是基于AQS的。当然,我们自己也能利用AQS非常轻...原创 2019-09-14 17:09:12 · 265 阅读 · 0 评论